Understanding kernel deadlock

Andrea Venturoli ml at netfence.it
Mon Feb 8 19:33:17 UTC 2021


Hello.

First off, I apologize if I'm asking stupid questions, but I'm a noob.
I'm reading a lot of docs but that seems to never be enough.



I'm trying to analyze a locked up 12.2 kernel (from #244048) with kgdb, 
but I'm stuck due to too little knowledge on my part.

What I think I'm seeing are some threads (including the one originated 
from mksnap_ffs) waiting for some spare buffer (i.e. in bufspace_wait).

However the buf_daemon thread and its child, bufspace_daemon, are 
seemingly looping without finding any buffer available to free.

Is that explanation reasonable? Possible at all?
Or am I getting it all wrong?

Is there a paper somewhere explaining how bufdaemon & co are supposed to 
work?

Will they not allocate new buffers if needed? Is there a limit set 
somewhere that I should increase?
Or are they just probably unable to work due to a LOR somewhere else?



Thanks for bearing with me.

  bye
	av.


More information about the freebsd-hackers mailing list