9447 NFS unmount is slow

Review Request #1064 - Created April 10, 2018 and updated

Information
Marcel Telka
illumos-gate
master
9447
537548c...
Reviewers
general
This improves the speed of the NFS unmount in kernel for all NFS versions by
introducing new linked list of rnodes in mntinfo so some functions used during
the unmount operation does not need to walk through all rnodes in the rtable.
For unit test and its results please see
https://www.illumos.org/issues/9447#note-2

The testing proved that the in-kernel NFS unmount functions are significantly
faster with the new implementation in the tested scenarios.

This fix is running in production for few weeks now with no regressions
reported.

Issues

  • 0
  • 2
  • 0
  • 2
Description From Last Updated
Toomas Soome
Marcel Telka
Toomas Soome
Marcel Telka
Review request changed

Change Summary:

Fix a race between destroy_rtable4() and some other threads (for example make_rnode4() or nfs4_rnode_reclaim()) that could remove the rnode from the freelist under our hands.

Commit:

-e1010ea2e0fd91c0eaa8692227e54dda7cc97505
+537548ccc6a31e377d7c1087ceb07aec863d7f85

Diff:

Revision 3 (+268 -145)

Show changes

Toomas Soome

LGTM. Since this code seems to be very similar for both versions, I wonder if it would be reasonable to work out to have single implementation... just an idea for future updates:)

  1. Traditionally, NFSv2/3 and NFSv4 implementations were always separate because the differences are too big. Yes, it would be possible to merge some parts of them, but it is unclear whether it is worth doing so.

  2. fair enough.

Arne Jansen
Ship It!
Loading...