Skip to content

Initial vfs scalability patches again

Nick Piggin linux-fsdevel lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 9 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4fs: cleanup files_lockdrivers/char/pty.c drivers/char/tty_io.c fs/file_table.c +4 more+48 -428 replies
2/4lglock: introduce special lglock and brlock spin locksinclude/linux/lglock.h+165 -05 replies
3/4fs: scale files_lockfs/file_table.c fs/super.c include/linux/fs.h+106 -180 replies
4/4fs: brlock vfsmount_lockfs/dcache.c fs/internal.h fs/namei.c +2 more+121 -680 replies

Reviews trailers per patch

1 of 4 patches has a Reviewed-by or Acked-by.

PatchAndi KleenGreg Kroah-Hartman
1/4A-b A-b
2/4
3/4
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [patch 0/4] Initial vfs scalability patches again

OK, I realised what I was smoking last time. So I put down the pipe and went to score some stronger crack. And then:
- reduced ifdefs as much as feasible
- add more comments, avoided churn
- vastly improved lock library code, works with lockdep
- added helpers for file list iterations
- lglock type for what was previously open coded in file list locking

It looks in much better shape now I hope. Al would you consider them?

With all patches applied, I ran some single threaded microbenchmarks, and it was difficult to tell much difference from the noise. I don't claim that there is no slowdown because there is more instructions and memory accesses for SMP. But it doesn't seem too bad.

Opteron, ran each test 30 times. Each run lasts for 3 seconds performing as many operations as possible. Between each 10 runs, a rebooted. After all that you still get artifacts, oh well.

Difference at 95.0% confidence (times, positive means patch is slower)
dup/close No difference proven at 95.0% confidence
open/close -2.48989% +/- 0.538414%
creat/unlink 3.14688% +/- 0.32411%