All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Convert knfsd to kthread API and fix startup/shutdown races (try #2)
@ 2008-06-04 15:03 Jeff Layton
  2008-06-04 15:03 ` [PATCH 1/4] knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking Jeff Layton
  0 siblings, 1 reply; 18+ messages in thread
From: Jeff Layton @ 2008-06-04 15:03 UTC (permalink / raw)
  To: linux-nfs, nfsv4; +Cc: gnb

This patchset is the second attempt to change nfsd to the kthread
API. The main changes from the first patchset are:

- it includes the patch by Neil Brown to take the BKL out of nfsd
  startup/shutdown codepath. This should hopefully plug the main
  race condition that could lead to oopses when nfsd was signaled
  and then rapidly restarted before all of the existing nfsd's had
  gone down. I've also added some comments to this patch to try
  and clarify the locking for future work.

- It preserves signaling as the main method for taking down nfsd.
  While kthread_stop is easier to deal with and less racy than
  signals, a lot of distros do the equivalent of "pkill nfsd" to
  take nfsd down. Changing that would be painful. Also, using
  kthread_stop is slower than using signals, since taking down
  each thread would be serialized.

- it removes the special handling where if the last thread caught a
  SIGHUP, the kernel would leave the export cache intact

I've tested this by running I/O against the server w/ iozone while
restarting nfs service in a loop. Everything seems to work as expected.

As always, comments and suggestions are appreciated...

Signed-off-by: Jeff Layton <jlayton@redhat.com>

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2008-06-06 15:05 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-04 15:03 [PATCH 0/4] Convert knfsd to kthread API and fix startup/shutdown races (try #2) Jeff Layton
2008-06-04 15:03 ` [PATCH 1/4] knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking Jeff Layton
2008-06-04 15:03   ` [PATCH 2/4] knfsd: remove special handling for SIGHUP Jeff Layton
2008-06-04 15:03     ` [PATCH 3/4] knfsd: convert knfsd to kthread API Jeff Layton
2008-06-04 15:03       ` [PATCH 4/4] sunrpc: remove unneeded field from svc_serv struct Jeff Layton
2008-06-05  1:30         ` Greg Banks
2008-06-05  1:28       ` [PATCH 3/4] knfsd: convert knfsd to kthread API Greg Banks
2008-06-05  0:59     ` [PATCH 2/4] knfsd: remove special handling for SIGHUP Greg Banks
2008-06-04 21:02   ` [PATCH 1/4] knfsd: Replace lock_kernel with a mutex for nfsd thread startup/shutdown locking J. Bruce Fields
2008-06-04 21:27     ` Jeff Layton
     [not found]       ` <20080604172752.31686797-RtJpwOs3+0O+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2008-06-04 21:58         ` J. Bruce Fields
2008-06-04 22:41           ` J. Bruce Fields
2008-06-05  0:07             ` Jeff Layton
2008-06-05  0:47   ` Greg Banks
2008-06-05 20:03     ` J. Bruce Fields
2008-06-05 20:15       ` Jeff Layton
2008-06-05 23:35       ` Greg Banks
     [not found]         ` <48487857.4030706-cP1dWloDopni96+mSzHFpQC/G2K4zDHf@public.gmane.org>
2008-06-06 15:05           ` Jeff Layton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.