[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Success with new futex code from 2.6.0-test5



The futex.c code from 2.6.0-test5 works great.  Jamie Lokier's patch 
removed the vcache_lock and reduced the page_table_lock to one small code 
block.  System time is 10%-20% at the start of the test and climbs down 
to single digits.  The performance test runs smoothly to completion with 
no mysterious freezes, just like Solaris.

oprofile results (2.6.0-test4+futex.c from test5):

c0109420 925      1.75282     __switch_to
c0108bd0 943      1.78693     default_idle
c0116cb0 1147     2.1735      mark_offset_tsc
c010af6b 1719     3.25741     sysenter_past_esp
c011e410 1941     3.67809     try_to_wake_up
c0152250 1968     3.72925     find_vma
c011f250 2625     4.97423     schedule
c013869d 4896     9.27765     .text.lock.futex
c0137b70 9347     17.712      futex_wake
c0137ea0 9670     18.3241     futex_wait

The .text.lock.futex hits make me think I can squeeze out a bit more 
performance by porting Boris' patch to split up the global lock into one 
per hash bucket.  I'm not sure if there's much that can be done to 
optimize futex_wake & futex_wait - though the body of wake is mainly 
searching through the hash table, so I'll try tweaking the size.

Thanks to everyone who provided advice and patches for the issue, they 
came faster than I could even keep up.  A nice change of pace, for sure.

Bill


STATEMENT OF CONFIDENTIALITY

The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain confidential or privileged information. If you are not
the intended recipient, please notify SunGard Trading Systems immediately
at (201) 499-5900 and destroy all copies of this message and any
attachments.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]