forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove unneeded crhold()/crfree() calls in Linux ZPL
The Solaris ZPL functions take a cred_t argument which is frequently not used. The Linux ZPL, which is effectively a wrapper around the Solaris ZPL gets the cred_t value via CRED() which must then be held with crhold() prior to calling the Solaris ZPL. The crhold()/crfree() management involve atomic operations which can consume excessive time on large-scale NUMA systems, particularly in highly-concurrent workloads with a high volume of file IO system calls. This patch passes a NULL instead of a valid cred_t in cases where the credential is not used by the Solaris ZPL. The zfs_space() function, however, can also be called inode operations so now it will now only use the cred_t argument if it is set.
- Loading branch information
Showing
2 changed files
with
12 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters