public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Wanlong Gao <gaowanlong@cn.fujitsu.com>
To: Kang Kai <Kai.Kang@windriver.com>, Jubi Taneja <jubitaneja@gmail.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] Query regarding Open Posix Test Case failure (pthread_rwlock_rdlock)
Date: Tue, 20 Mar 2012 16:48:19 +0800	[thread overview]
Message-ID: <4F684453.2060003@cn.fujitsu.com> (raw)
In-Reply-To: <4F68400F.9080702@windriver.com>

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
>> Ltp-list@lists.sourceforge.net
>> 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
> Ltp-list@lists.sourceforge.net
> 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
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2012-03-20  8:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-19  8:11 [LTP] Query regarding Open Posix Test Case failure (pthread_rwlock_rdlock) Jubi Taneja
2012-03-20  8:30 ` Kang Kai
2012-03-20  8:48   ` Wanlong Gao [this message]
2012-05-02 13:45     ` Cyril Hrubis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F684453.2060003@cn.fujitsu.com \
    --to=gaowanlong@cn.fujitsu.com \
    --cc=Kai.Kang@windriver.com \
    --cc=jubitaneja@gmail.com \
    --cc=ltp-list@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox