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