Re: [PATCH v4 0/2] fs, audit: Avoid excessive dput/dget in audit_context setup and reset paths
Waiman Long <[email protected]> Thu, 5 Mar 2026 19:53:15 -0500
| Newsgroups | org.kernel.vger.audit,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 3/5/26 4:46 PM, Christian Brauner wrote: > On Sat, Feb 28, 2026 at 01:27:55PM -0500, Waiman Long wrote: >> v4: >> - Add ack and review tags >> - Simplify put_fs_pwd_pool() in patch 1 as suggested by Paul Moore >> >> v3: >> - https://lore.kernel.org/lkml/[email protected]/ >> >> When the audit subsystem is enabled, it can do a lot of get_fs_pwd() >> calls to get references to fs->pwd and then releasing those references >> back with path_put() later. That may cause a lot of spinlock contention >> on a single pwd's dentry lock because of the constant changes to the >> reference count when there are many processes on the same working >> directory actively doing open/close system calls. This can cause >> noticeable performance regresssion when compared with the case where >> the audit subsystem is turned off especially on systems with a lot of >> CPUs which is becoming more common these days. >> >> This patch series aim to avoid this type of performance regression caused >> by audit by adding a new set of fs_struct helpers to reduce unncessary >> path_get() and path_put() calls and the audit code is modified to use >> these new helpers. > Tbh, the open-coding everywhere is really not very tasteful and makes me > not want to do this at all. Ideally we'd have a better mechanism that > avoids all this new spaghetti in various codepaths. > > In it's current form I don't find it palatable. I added a few cleanups > on top that make it at least somewhat ok. Thanks for the cleanup patches. They all look good to me. Reviewed-by: Waiman Long <[email protected]>