Is kernel oplocks = yes a good default?

Christian Ambach ambi at
Wed Apr 11 07:25:59 MDT 2012

I was wondering why Samba servers running on Linux are not giving out 
Level II oplocks by default and thus cause performance degradation for 
certain workloads.

Digging into that, I discovered that this due to "kernel oplocks" set to 
yes by default and on the two platforms that have kernel oplock support 
code for (Linux and IRIX), level 2 oplocks are not supported by the 
kernel. (OneFS is the only platform that has support for them).

Another bad thing is that kernel oplocks is a global parameter. So if an 
admin is interested in getting NFS/shell interop for just a certain 
share, (s)he cannot turn them off for the other shares to get better 
performance from those.

I have worked on a patchset that converts the parameter into a share 
option that will allow for more fine-grained configuration.
Please have a look at it.
It makes the raw.oplocks test pass when using kernel oplocks = no for 
just the share to be tested.

Additionally, I would like to question the current default value of 
kernel oplocks: we shouldn't cut off our users from the performance 
benefits of level II oplocks on one of our major platforms by default.

I can update the patchset to also flip the default if this is considered 
to be a good idea.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: oplocks.patch
Type: text/x-patch
Size: 10361 bytes
Desc: not available
URL: <>

More information about the samba-technical mailing list