On 03/20/2012 04:30 PM, Kang Kai wrote:

> On 2012年03月19日 16:11, Jubi Taneja wrote:
>> Hi
>>
>> In LTP(Jan 2012 release) Open Posix Test Suite, the test case 
>> "pthread_rwlock_rdlock/2-1.c"
>> fails for Linux Kernel 3.0.18 for target ARM.
>>
>>
>> The exact output of the program is:
>> main: has priority: 3
>> main: attempt read lock
>> main: acquired read lock
>> main: create wr_thread, with priority: 2
>> wr_thread: attempt write lock
>> main: create rd_thread, with priority: 1
>> rd_thread: attempt read lock
>> rd_thread: acquired read lock
>> rd_thread: unlock read lock
>> Test FAILED: rd_thread did not block on read lock, when a reader owns the 
>> lock, and a higher
>> priority writer is waiting for the lock
> 
> Hi Jubi,
> 
> I am using eglibc and meet the same failure. My analysis is that
>  
>   This test case is to test option *Thread Execution Scheduling* of pthread 
> rwlock.
>   But eglibc/libc don't support this option. They provide a 
> rwlock->__data.*__flags* option to identify
>   perfer 'read lock' or write lock, and the default is 'read lock' first. So 
> second reader can get the lock
>   when a higher priority writer is waiting for the lock.


This's a glibc's bug.

POSIX said: "If the Thread Execution Scheduling option is supported, and the 
threads involved in the lock are executing with the scheduling policies 
SCHED_FIFO or SCHED_RR, the calling thread shall not acquire the lock if a 
writer holds the lock or if writers of higher or equal priority are blocked on 
the lock; otherwise, the calling thread shall acquire the lock."

But at glibc, reader always acquire rwlock if there's not a writer held this 
lock. so test fail.

Thanks,
Wanlong Gao


> 
> Regards,
> Kai
> 
>>
>>  
>>
>> The path of the program si :
>> VDLTP_20120104/testcases/open_posix_testsuite/conformance/interfaces/pthread_rwlock_rdlock
>>
>> Ca anyone please explain why it fails at this point? I am unable to catch 
>> the exact reason.
>>
>> Looking forward to your reply.
>>
>> Thanks,
>> Jubi
>>
>>
>> ------------------------------------------------------------------------------
>> This SF email is sponsosred by:
>> Try Windows Azure free for 90 days Click Here 
>> http://p.sf.net/sfu/sfd2d-msazure
>>
>>
>> _______________________________________________
>> Ltp-list mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/ltp-list
> 
> 
> 
> ------------------------------------------------------------------------------
> This SF email is sponsosred by:
> Try Windows Azure free for 90 days Click Here 
> http://p.sf.net/sfu/sfd2d-msazure
> 
> 
> 
> _______________________________________________
> Ltp-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ltp-list



------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to