apparmor: try to avoid refing the label in apparmor_file_open
If the label is not stale (which is the common case), the fact that the
passed file object holds a reference can be leverged to avoid the
ref/unref cycle. Doing so reduces performance impact of apparmor on
parallel open() invocations.
When benchmarking on a 24-core vm using will-it-scale's open1_process
("Separate file open"), the results are (ops/s):
before:
6092196
after:
8309726 (+36%)
Signed-off-by: Mateusz Guzik <[email protected]>
Signed-off-by: John Johansen <[email protected]>