Re: ZFS kmem_map too small.

From: Darren Reed <darrenr_at_freebsd.org>
Date: Tue, 09 Oct 2007 12:41:21 -0700
Pawel Jakub Dawidek wrote:
> Here are some updates:
>
> I was able to reproduce the panic by rsyncing big files and trying
> bonnie++ test suggested in this thread.
>
> Can you guys retry with this patch:
>
> 	http://people.freebsd.org/~pjd/patches/vm_kern.c.2.patch
>   

So, I have a question...
What happens if the "for (i = 0..)" is changed to "while(1)" and
the "panic" is subsequently removed?


It appears like the code changes the meaning of "WAIT" to "wait
for 4 seconds" then panic if it won't work.  Previously, "WAIT" was
not waiting at all...whch could be described as a bug!

If I recall correctly, ZFS caches writes and doe them in spurts and
that those spurts are spaced out more than 4 seconds.  (For the
curious, do "zpool status" and observe the gap in time between
write activity.)

If you start a large amount of I/O, it is possible that all the KVA will
be used up and ZFS will not get a chance to flush its buffers before
the 4s timer here expires.  Does that sound plausible?

Would doubling the 8 to (say) 16 be beneficial here, to at least make
the waiting span one ZFS flush out to disk?

Darren
Received on Tue Oct 09 2007 - 17:40:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:19 UTC