[apparmor] use per-cpu refcounts for apparmor labels?
    Vinicius Costa Gomes 
    vinicius.gomes at intel.com
       
    Mon Sep 25 23:49:25 UTC 2023
    
    
  
Hi Mateusz,
Mateusz Guzik <mjguzik at gmail.com> writes:
> I'm sanity-checking perf in various microbenchmarks and I found
> apparmor to be the main bottleneck in some of them.
>
> For example: will-it-scale open1_processes -t 16, top of the profile:
>   20.17%  [kernel]                   [k] apparmor_file_alloc_security
>   20.08%  [kernel]                   [k] apparmor_file_open
>   20.05%  [kernel]                   [k] apparmor_file_free_security
>   18.39%  [kernel]                   [k] apparmor_current_getsecid_subj
> [snip]
>
> This serializes on refing/unrefing apparmor objs, sounds like a great
> candidate for per-cpu refcounting instead (I'm assuming they are
> expected to be long-lived).
>
> I would hack it up myself, but I failed to find a clear spot to switch
> back from per-cpu to centalized operation and don't want to put
> serious effort into it.
>
> Can you sort this out?
I was looking at this same workload, and proposed a patch[1] some time
ago, see if it helps:
https://lists.ubuntu.com/archives/apparmor/2023-August/012914.html
But my idea was different, in many cases, we are looking at the label
associated with the current task, and there's no need to take the
refcount.
>
> Thanks,
> -- 
> Mateusz Guzik <mjguzik gmail.com>
>
Cheers,
-- 
Vinicius
    
    
More information about the Linux-security-module-archive
mailing list