tech-kern archive

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

Re: [PATCH] Re: zero-filed page on VOP_PUTPAGES



Emmanuel Dreyfus <manu%netbsd.org@localhost> wrote:

> That code passes my test case for data corruption, and it does not hang
> the kernel. 

I spoke too fast, it is still able to deadlock. Here is ioflush
backtrace, while it is sleeping on km_getwait2

sleepq_block
mtsleep
uvm_wait
uvm_km_alloc
kmem_backend_alloc
vmem_xalloc
vmem_alloc
kmem_alloc
kmem_zalloc
puffs_msgmem_alloc
puffs_vnop_strategy
VOP_STRATEGY
genfs_do_io
genfs_gop_write
genfs_do_putpages
genfs_putpages
VOP_PUTPAGES
flushvncache
puffs_vnop_fsync
VOP_FSYNC
sched_sync

But I think this is a different pre-existing bug, that is not caused by
my change. As I understand, ioflush should never sleep in PUFFS code,
otherwise it can deadlock with the file server. 

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index