Bug 831900

Summary: system call sys_semget costs more time
Product: Red Hat Enterprise Linux 6 Reporter: slh <slhhust>
Component: kernelAssignee: Red Hat Kernel Manager <kernel-mgr>
Status: CLOSED DEFERRED QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2   
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-26 01:35:53 UTC 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:
Attachments:
Description Flags
calls semget 1 millions times
none
calls semget in a while(1) statement none

Description slh 2012-06-14 03:16:23 UTC
Created attachment 591717 [details]
calls semget 1 millions times

Description of problem:
It seemed that the system call sys_semget costs more time than that in rhel 5.


Version-Release number of selected component (if applicable):
Rhel-6.2
kernel-2.6.32-220

How reproducible:
compile the and execute the two programs a(calls semget for 1 million times ) and b(calls semget in a while(1) statement) on rhel5 and rhel6 .

Steps to Reproduce:
1.On rhel5, execute a singlely , then execute b and re-execute a , compare the results(time cost) outputed by a.
2.On rhel6, execute a singlely , then execute b and re-execute a , compare the results(time cost) outputed by a.
3.
  
Actual results:

DELL OPTIPLEX 380 (Pentium Dual-Core E5800 ,4G RAM)
On rhel5 , a costs about 0.2 seconds when it is executed singley , and costs about 0.5 seconds when b is running.
On rhel6 , a costs about 0.2 seconds when it is executed singley , but costs about 7 seconds when b is running.
 

Expected results:
At least ,we should get the similar results . 

Additional Info:
I searched it on google , and found that the lock in sys_semget had been changed from mutex to rw_semaphore .
It seemed that rw_semaphore down_write() was not as efficient as mutex's mutex_lock(), it was slower.

Comment 1 slh 2012-06-14 03:17:53 UTC
Created attachment 591718 [details]
calls semget in a while(1) statement

Comment 3 RHEL Program Management 2012-12-14 08:26:14 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.