tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: memcpy of struct buf, or similar?



Andrew Doran wrote:

> On Tue, Jun 10, 2008 at 01:58:43AM +1000, Simon Burge wrote:
> 
> > No anymore - I used to run with it all the time, but not since enabling
> > it took a large performance hit some time post netbsd-4.  I'll try
> > LOCKDEBUG (tomorrow).
> 
> There have beem some changes recently that reduce its CPU usage. I'm finding
> it a lot more useable than it was.

With LOCKDEBUG + your patch + KASSERTS for bufcache_lock held I get:

panic: kernel diagnostic assertion "cv_has_waiters(&bp->b_done)" failed: file 
"../../../../kern/vfs_bio.c", line 1553uvm_fault(0xffffffff80c53ba0, 
0xffff800020f12000, 1) -> e

WARNING: SPL NOT LOWERED ON TRAP EXIT 6 0
fatal breakpoint trapWARNING: SPL NOT LOWERED ON TRAP EXIT 6 0
 in supervisor mode
trap type 1 code 0 rip ffffffff8050e2c5 cs 8 rflags 246 cr2  7f7ffdd1bbcc cpl 3 
rsp ffff800064fc4bb0
Stopped in pid 0.4 (system) at  netbsd:breakpoint+0x5:  leave

db{0}> bt
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x260
__kernassert() at netbsd:__kernassert+0x2d
biodone2() at netbsd:biodone2+0x136
biointr() at netbsd:biointr+0x3c
softint_dispatch() at netbsd:softint_dispatch+0xd3
DDB lost frame for netbsd:Xsoftintr+0x50, trying 0xffff800064fc4d70
Xsoftintr() at netbsd:Xsoftintr+0x50
--- interrupt ---
0:
db{0}> mac cpu 1
using CPU 1
db{0}> bt       
sse2_idlezero_page() at netbsd:sse2_idlezero_page+0x2f
pmap_pageidlezero() at netbsd:pmap_pageidlezero+0x67
uvm_pageidlezero() at netbsd:uvm_pageidlezero+0xe2
idle_loop() at netbsd:idle_loop+0x165
Bad frame pointer: 0xffff800064633420
db{0}> mac cpu 2
using CPU 2
db{0}> bt       
bus_space_read_stream_1() at netbsd:bus_space_read_stream_1+0xe
cnputc() at netbsd:cnputc+0x2a
putchar() at netbsd:putchar+0x139
kprintf() at netbsd:kprintf+0x3ea
printf() at netbsd:printf+0xcd
db{0}> mac cpu 3
using CPU 3
db{0}> bt       
__cpu_simple_lock() at netbsd:__cpu_simple_lock+0x13
trap() at netbsd:trap+0x33c
 [[[  hard wedge, need reset!  ]]]

Debug ended there unfortunately :/

Cheers,
Simon.


Home | Main Index | Thread Index | Old Index