All of lore.kernel.org
 help / color / mirror / Atom feed
From: Akira Yokosawa <akiyks@gmail.com>
To: "Paul E. McKenney" <paulmck@kernel.org>
Cc: Patrick Yingxi Pan <pyxchina92929@gmail.com>,
	perfbook@vger.kernel.org, Akira Yokosawa <akiyks@gmail.com>
Subject: Re: [PATCH] memorder.tex: the exists clause in Listing 15.35 should never be satisfied.
Date: Tue, 11 Oct 2022 18:21:16 +0900	[thread overview]
Message-ID: <fb96c7ce-2374-aa32-263e-e67fafc1ab9a@gmail.com> (raw)
In-Reply-To: <20221011085825.GE4221@paulmck-ThinkPad-P17-Gen-1>

On Tue, 11 Oct 2022 01:58:25 -0700, Paul E. McKenney wrote:
> On Tue, Oct 11, 2022 at 05:37:55PM +0900, Akira Yokosawa wrote:
>> [+CC: Paul]
>>
>> Hi,
>>
>> On Tue, 11 Oct 2022 11:17:25 +0800, Patrick Yingxi Pan wrote:
>>> Hello!
>>>
>>> According to the context and my understanding of locking primitives, I
>>> suppose the 'exists' clause in the litmus test shouldn't be satisfied.
>>
>> I agree with you in that section 15.4.2.2 is described as if the
>> result were "Never".
>>
>> However, if you run herd7 on the litmus test, you'll get:
>>
>> ------------------------------------------------
>> Test Lock-outside-across Allowed
>> States 4
>> 0:r1=0; 1:r1=0;
>> 0:r1=0; 1:r1=1;
>> 0:r1=1; 1:r1=0;
>> 0:r1=1; 1:r1=1;
>> Ok
>> Witnesses
>> Positive: 2 Negative: 12
>> Condition exists (0:r1=0 /\ 1:r1=0)
>> Observation Lock-outside-across Sometimes 2 12   <--
>> Time Lock-outside-across 0.02
>> Hash=06337358bba3d1ed44db8ea81cf1d236
>> ------------------------------------------------
>>
>> That said, I'm not in the position of deciding LKMM is right or not.
> 
> Thank you for checking, Akira!
> 
> This is the following litmus test?
> 
> CodeSamples/formal/herd/C-Lock-outside-across.litmus

Yes, it is.

        Thanks, Akira

> 
> 							Thanx, Paul
> 
>>> Signed-off-by: Patrick Pan <pyxchina92929@gmail.com>
>>> ---
>>>  memorder/memorder.tex | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/memorder/memorder.tex b/memorder/memorder.tex
>>> index a0a87d0a..9c1846d0 100644
>>> --- a/memorder/memorder.tex
>>> +++ b/memorder/memorder.tex
>>> @@ -3452,7 +3452,7 @@ following subsequent critical sections?
>>>  This question can be answered for the Linux kernel by referring to
>>>  \cref{lst:memorder:Accesses Outside of Critical Sections}
>>>  (\path{C-Lock-outside-across.litmus}).
>>> -Running this litmus test yields the \co{Sometimes} result,
>>> +Running this litmus test yields the \co{Never} result,
>>>  which means that accesses in code leading up to a prior critical section
>>>  is also visible to the current CPU or thread holding that same lock.
>>>  Similarly, code that is placed after a subsequent critical section
>>>
>>> base-commit: 7f12a9358e220f3d0c3a0880d01bc283113d7a5b
>>> --

  reply	other threads:[~2022-10-11  9:21 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-11  3:17 [PATCH] memorder.tex: the exists clause in Listing 15.35 should never be satisfied Patrick Yingxi Pan
2022-10-11  8:37 ` Akira Yokosawa
2022-10-11  8:58   ` Paul E. McKenney
2022-10-11  9:21     ` Akira Yokosawa [this message]
2022-10-11  9:48       ` Paul E. McKenney
2022-10-11 10:41         ` Akira Yokosawa
2022-10-11 12:13           ` Akira Yokosawa
2022-10-11 15:04             ` Akira Yokosawa
2022-10-12  2:26               ` Patrick Yingxi Pan

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=fb96c7ce-2374-aa32-263e-e67fafc1ab9a@gmail.com \
    --to=akiyks@gmail.com \
    --cc=paulmck@kernel.org \
    --cc=perfbook@vger.kernel.org \
    --cc=pyxchina92929@gmail.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.