Re: RandomAccessFile and the native futex

Peter Booth <[email protected]> Tue, 18 Dec 2007 19:52:21 -0500
Newsgroups gmane.comp.windows.devel.java.advanced
Message-ID <[email protected]>
Can you try your benchmark with the IBM JVM?
On Dec 18, 2007, at 11:41 AM, Avinash Lakshman wrote:

> It looks like this may have something to do with incompatibility  
> between NPTL threads and Java threads on Fedora Core 4. Anyone run  
> into this problem before? I am using JDK6 with FC4   
> 2.6.12-1.1398_FC4smp.
>
> A
>
>> Date: Mon, 17 Dec 2007 19:03:42 -0600
>> From: [email protected]
>> Subject: [ADVANCED-JAVA] RandomAccessFile and the native futex
>> To: [email protected]
>>
>> Hi All
>>
>> I see 52 ms being spent in calls to readFully() method of the  
>> RandomAccessFile. I ran strace against my process and figured that  
>> these weren't reads going to disk. All reads were being served from  
>> the buffer cache (verified by running iostat). It also looks like  
>> the 52 ms is a futex timeout but strace doesn't report which system  
>> call causes this. I was wondering if anyone has seen this problem  
>> before and how do I go about addressing this? Do I have access to  
>> the source code of the native library used by RandomAccessFile?  
>> Here is the output from strace (the offending line is in bold):
>>
>>
>> 29673 16:36:47.747658
>> futex(0x2aac3f62a674, FUTEX_WAIT, 1, {0, 49972000} <unfinished
>> ...>
>> 29716 16:36:47.784379 <... futex
>> resumed> ) = -1 ETIMEDOUT (Connection timed out)
>> <0.044427>
>> 29716 16:36:47.784469
>> futex(0x2aac3f66e328, FUTEX_WAKE, 1) = 0
>> <0.000012>
>> 29716 16:36:47.784548
>> clock_gettime(CLOCK_REALTIME, {1197938207, 784565000}) = 0
>> <0.000012>
>> 29716 16:36:47.784610
>> futex(0x2aac3f670314, FUTEX_WAIT, 1, {0, 19970000} <unfinished
>> ...>
>> 29673 16:36:47.799354 <... futex
>> resumed> ) = -1 ETIMEDOUT (Connection timed out)
>> <0.051676>
>> 29673 16:36:47.799392
>> futex(0x2aac3f2a7228, FUTEX_WAKE, 1) = 0
>> <0.000011>
>> 29673 16:36:47.799434
>> clock_gettime(CLOCK_MONOTONIC, {6497274, 522227024}) = 0
>> <0.000007>
>> 29673 16:36:47.799481
>> clock_gettime(CLOCK_MONOTONIC, {6497274, 522275024}) = 0
>> <0.000007>
>>
>> Thanks
>> Avinash
>>
>> _________________________________________________________________
>> i’m is proud to present Cause Effect, a series about real people  
>> making a difference.
>> http://im.live.com/Messenger/IM/MTV/?source=text_Cause_Effect
>> ===================================
>> This list is hosted by DevelopMentor®  http://www.develop.com
>>
>> View archives and manage your subscription(s) at http://discuss.develop.com
>
> _________________________________________________________________
> Share life as it happens with the new Windows Live.
> http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_122007
> ===================================
> This list is hosted by DevelopMentor®  http://www.develop.com
>
> View archives and manage your subscription(s) at http://discuss.develop.com
>

===================================
This list is hosted by DevelopMentor®  http://www.develop.com

View archives and manage your subscription(s) at http://discuss.develop.com