pfind_locked(pid) fails when in a jail?

Rick Macklem rmacklem at uoguelph.ca
Mon Oct 16 22:24:37 UTC 2017


Hi,

A problem w.r.t. the NFSv4 client's renew thread (nfscl) running up a lot of CPU
when the NFSv4 mount is in a jail has been reported to the freebsd-stable@
mailing list.

I know nothing about jails, but when looking at the code, the most obvious
cause of this would be "pfind_locked(pid)" failing to find a process.
- Will a jail affect how pfind_locked() behaves?
- If the answer is "yes", then I need to know how to either...
   1 - Make pfind_locked() work the same as when no jail exists.
   OR
   2 - A way for the Renew thread can determine that a jail will affect pfind_locked()
     behaviour, so it can avoid this problem.
#1 is preferred, since #2 may not be 100% correct, although #2 would allow the
code to behave well for most cases. (The exception is a case where a file remains
open for a long period of time, with different processes doing byte range locks on
the file.)

Thanks in advance for any help w.r.t. jail behaviour, rick


More information about the freebsd-current mailing list