1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
samba-mirror/source3/librpc
Jeremy Allison 13b6199a2f s3: locking: Add a memcache based lock cache.
Based on an idea by Volker to optimize cpu usage when
parsing struct share_mode_data entries.

Add a 64-bit sequence number to the share mode entry,
and after the entry is stored back in the db, cache
the in-memory version using talloc reparenting into the
memcache. The memcache key used is the same struct file_id
used as the key into the locking db.

On read, check if the locking db version sequence number
matches the in-memory cache, and if so reparent the
memcache version back onto the required memory context.

Saves all the ndr decoding when multiple accesses to the
same lock entry happen in succession.

Design also improved by Metze and Ira.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ira Cooper <ira@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Apr 17 22:38:34 CEST 2015 on sn-devel-104
2015-04-17 22:38:34 +02:00
..
crypto gse_krb5: Avoid a segfault when we can not read the dedicated keytab file 2014-11-27 07:38:02 +01:00
gen_ndr waf-idl: put the gen_ndr/README file for source3 back 2010-07-19 22:17:17 +10:00
idl s3: locking: Add a memcache based lock cache. 2015-04-17 22:38:34 +02:00
rpc librpc: gensec is our security provider abstraction, remove a void * 2014-09-27 01:35:36 +02:00
wscript_build librpc: Move messaging.idl to the top level 2015-02-16 12:15:07 +01:00