From cbd92ce62e92bd17871c9668c2c2bebac3e2ac2e Mon Sep 17 00:00:00 2001 From: Matt Macy Date: Wed, 9 May 2018 18:47:24 +0000 Subject: Eliminate the overhead of gratuitous repeated reinitialization of cap_rights - Add macros to allow preinitialization of cap_rights_t. - Convert most commonly used code paths to use preinitialized cap_rights_t. A 3.6% speedup in fstat was measured with this change. Reported by: mjg Reviewed by: oshogbo Approved by: sbruno MFC after: 1 month --- sys/netsmb/smb_dev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'sys/netsmb/smb_dev.c') diff --git a/sys/netsmb/smb_dev.c b/sys/netsmb/smb_dev.c index 71c9432328bc9..f88d14330c4ab 100644 --- a/sys/netsmb/smb_dev.c +++ b/sys/netsmb/smb_dev.c @@ -380,7 +380,6 @@ int smb_dev2share(int fd, int mode, struct smb_cred *scred, struct smb_share **sspp, struct smb_dev **ssdp) { - cap_rights_t rights; struct file *fp, *fptmp; struct smb_dev *sdp; struct smb_share *ssp; @@ -388,7 +387,7 @@ smb_dev2share(int fd, int mode, struct smb_cred *scred, int error; td = curthread; - error = fget(td, fd, cap_rights_init(&rights, CAP_READ), &fp); + error = fget(td, fd, &cap_read_rights, &fp); if (error) return (error); fptmp = td->td_fpop; -- cgit v1.3