Bug 1469757

Summary: kernel: Implement vDSO support for getpid
Product: [Fedora] Fedora Reporter: Florian Weimer <fweimer>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fedora, gansalmon, ichavero, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1469670    

Description Florian Weimer 2017-07-11 19:14:07 UTC
glibc used to have a getpid wrapper which cached the current PID in userspace.  It turned out that this cache was difficult to maintain because certain system calls (with specific flags) invalidate it, while at the same time, the semantics of those system calls do not permit unconditional invalidation of the cache.

However, as pointed out in bug 1443976 comment 5 and bug 1469670, the system call overhead introduces a substantial performance regression in some cases.  Therefore, it would be nice to have a getpid implementation in the vDSO which does not perform a context switch.