On 5/29/25 3:46 AM, Neal Gompa wrote:
while the SELinux
tools support multi-threaded operations, it's not the default and none
of the macros use it.

A large portion of every existing install of a SELinux package on Fedora
is a walk of the file system tree. This walk is not parallelized,
and that is a travesty.  Once a parent directory has been relabeled,
then every direct child of that parent (and all the child's descendants)
can be relabeled in parallel.  Typically that's a factor of
around 3 in wall-clock time.

A second travesty is the use of fully-rooted absolute pathnames
instead of a relative pathname after a chdir() at each level.
If there are 10 slashes '/' in a pathname, then it really does
take ten times as long for the kernel to find the right inode.
This also interferes with parallelization if lookup requires
any locking of directory inodes.

Finally, the C-language code itself acts like strlen() takes no time,
but strlen() is not free.  Keeping track of the current length
would save time.

--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to