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
next prev parent 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