lkml.org 
[lkml]   [2018]   [Feb]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH RFC tools/lkmm 10/12] tools/memory-model: Add a S lock-based external-view litmus test
    On Wed, Feb 21, 2018 at 02:27:04PM -0500, Alan Stern wrote:
    > On Wed, 21 Feb 2018, Paul E. McKenney wrote:
    >
    > > > > +ISA2+pooncelock+pooncelock+pombonce.litmus
    > > > > + Tests whether the ordering provided by a lock-protected S litmus
    > > >
    > > > Call it an ISA2 litmus test, not an S litmus test!
    > >
    > > Given the structure of the test, the relationship to S is important
    > > because it helps motivate why anyone might care. But yes, having ISA2
    > > only in the filename is a bit obtuse. How about the following?
    > >
    > > ISA2+pooncelock+pooncelock+pombonce.litmus
    > > Tests whether the ordering provided by a lock-protected S
    > > litmus test is visible to an external process whose accesses are
    > > separated by smp_mb(). This addition of an external process to
    > > S is otherwise known as ISA2.
    >
    > Okay, that's somewhat better.
    >
    > However, I still don't understand why you think of this as a form of S.
    > In S, the first variable written by P0 is the same as the variable
    > written by P1. In this test, no variable other than the spinlock gets
    > written twice. To me that seems like a pretty fundamental difference.

    There is a chain of processes connected by variables, similar to
    a snap-together toy. If you "disconnect" S at the end and snap in
    a process having a pair of reads separated by a full memory barrier,
    you get ISA2. And yes, this does rename one of S's variables, but that
    is OK because in this view, each variable is defined by the connection
    between a given pair of pair of processes.

    Unconventional perhaps, but then again remember who you are emailing
    with. ;-)

    Another (perhaps more conventional) way to think of this is in terms of
    Andrea's python script that identified equivalent litmus tests. For that
    script, both the variable names and process numbers are irrelevant.

    Thanx, Paul

    \
     
     \ /
      Last update: 2018-02-21 23:26    [W:5.330 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site