[LU-8978] improve conurrency in ZFS's SA Created: 26/Dec/16  Updated: 01/Dec/17

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Alex Zhuravlev Assignee: Alex Zhuravlev
Resolution: Unresolved Votes: 0
Labels: zfs

Issue Links:
Blocker
is blocking LU-7895 zfs metadata performance improvements Resolved
Rank (Obsolete): 9223372036854775807

 Description   

all SA updates in a object set are serialized with a global mutex. given SA is used to store regular attributes and EAs, it's very expensive to update any of them, especially in a multi-thread and/or multi-core environment.
the mutex (sa_lock) is used to protect a structure listing all known SA configurations.
it's possible to cache references to few frequently-used configurations on per-cpu basis and skip the mutex in the majorify of cases - this is proved by a prototype patch. the patch still needs some polishing and inspections on ZoL



 Comments   
Comment by Alex Zhuravlev [ 28/Dec/16 ]

https://github.com/zfsonlinux/zfs/pull/5533

Generated at Sat Feb 10 02:22:11 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.