No conflict between theory and practice

By: anon2 (anon.delete@this.anon.com), April 8, 2021 3:09 am
Room: Moderated Discussions
Andrey (andrey.semashev.delete@this.gmail.com) on April 8, 2021 2:41 am wrote:
> anon2 (anon.delete@this.anon.com) on April 8, 2021 12:52 am wrote:
> > Andrey (andrey.semashev.delete@this.gmail.com) on April 8, 2021 12:29 am wrote:
> > > anon2 (anon.delete@this.anon.com) on April 7, 2021 8:12 pm wrote:
> > > > Andrey (andrey.semashev.delete@this.gmail.com) on April 7, 2021 5:33 pm wrote:
> > > > >
> > > > > How can the forward progress be guaranteed if the thread
> > > > > can be interrupted in the middle of LL/SC body, which
> > > > > resets the LL tag? As long as that is a possibility, you cannot have a guarantee of forward progress.
> > > >
> > > > Uh, why would you have to allow interrupts there??
> > >
> > > I used the term "interrupted" broadly here. It's not necessarily hardware
> > > interrupts, but e.g. thread preemption and signal delivery.
> >
> > Ah, so you don't know what you're talking about then. That explains a lot.
> >
> > Thread preemption and signal delivery don't just "happen"
> > out of the blue while a CPU is executing instructions!
>
> As far as the running program is concerned, they do.

You're just wrong. If interrupts aren't allowed, then thread preemption and signal delivery are non-issues, because they are driven by interrupts.

>
> > > And regarding hardware interrupts, at least in case of ARM,
> > > I don't think interrupts are architecturally suspended
> > > by a LL. I suppose, a particular implementation might do
> > > some tricks to postpone interrupt handling past SC,
> > > but firstly, that would not something to rely on, and secondly, you can postpone for only so long.
> >
> > Totally missed the point. Of course interrupts are not architecturally suspended. Nobody
> > said they were. The point is if your architecture gives a recipe for LL/SC sequences that
> > can be assumed to eventually succeed, then the *microarchitecture* can suspend them.
>
> Again, that would be an implementation detail of a given microarchitecture, not a guarantee.

You completely miss the point. Again. You still seem to think we're talking about forward progress requiring interrupts to be arhcitecturally suspended. We're not, it's just something you've concocted in your own mind.

The architecture absolutely can guarantee forward progress, without requiring interrupts to be disabled over LL/SC, and the implementation can choose to hold off interrupts if it chooses as a way to implement that if that's what they decide, and it doesn't even need to be over every LL/SC, they could drop to a slower suspend interrupts mode after detecting some failures.

>
> > > > > Of course, the case when the LL/SC loop gets constantly interrupted and cannot progress is
> > > > > pathologic and largely theoretical, but still it breaks the strict forward progress guarantee.
> > > >
> > > > The forward progress that Linus is talking about (the actual important practical guarantee) is that a core
> > > > doesn't get stuck forever failing its SC because other agents in the machine keep taking its line away.
> > >
> > > And that can happen, too, although as long as those other agents
> > > progress, this doesn't impact the forward progress guarantee.
> >
> > It obviously does not guarantee forward progress for that CPU.
>
> Forward progress guarantee means that at least one thread is guaranteed to
> make progress. When I say you don't have this guarantee, it means there is
> a case, however theoretical, where none of the threads make progress.

We're talking about progress of one thread here, was it honestly so difficult to comprehend that from the context?

>
> > > > Were you not reading the thread? This is the exact kind of thing Linus said might actually be useful.
> > > >
> > > > He nowhere said that such a thing can't possibly be done (and he even said it is in mainframes). It's
> > > > the problem of using x86 transactions that way (other than
> > > > bad performance) is because there is no architectural
> > > > specification telling us the conditions under which it is guaranteed to eventually succeed.
> > >
> > > I'm not sure what you're talking about here. I'm not saying HTM can't have a soft forward progress
> > > guarantee, like LL/SC. On the opposite, I'm saying that it does.
> >
> > You are wrong. Many *actual* HTM implementations do not. Intel's does not, I think
> > POWER does not. Contrary to this, no sane architecture requires a LL/SC fallback (for
> > certain constrained sequences). What is difficult to understand about this?
>
> All LL/SC architectures require a retry, which is a sign that forward progress is not guaranteed.

Again: zero sane architectures require a fallback path for LL/SC. You're just wrong.

>
> > > My point is that on both cases
> > > it's not a strict guarantee, which means you have to have a retry/fallback path.
> >
> > No.
> >
> > > In the particular case of TSX the spec describes cases when the transaction will abort. The
> > > problem is that it lists microarchitectural causes, which is basically a license for the CPU
> > > to abort at its whim. And my suggestion is to minimize or straight eliminate those causes.
> >
> > It's not _your_ suggestion though, Linus has been talking about the usefulness of such constrained
> > guaranteed transactions for the entire thread here. Nobody denies that, you're tilting at windmills
> > or something because you're not understanding what people are saying, evidently.
>
> Well, I'm not going to argue who was the first to suggest what.

You're going to cease arguing about it, you mean?

> I'll just say that I think I agree
> with Linus on some points and not the other. In particular, I don't agree with his views on transaction
> constraints, and that these constraints would make that HTM design a success.
>

Given your ideas about signals or task switching somehow unexpectedly arriving in the middle of a transaction without a hardware interrupt coming in, I'm going to go ahead and assume this opinion is not based on any kind of real world learning or experience.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Armv9 officially announcedJon Masters2021/03/30 10:41 AM
  Armv9 officially announcedGabriele Svelto2021/03/30 12:27 PM
    HTM and TLEFoo_2021/03/30 12:31 PM
      HTM and TLEdmcq2021/03/30 02:03 PM
      Intel RTM and HLE is a successGanon2021/03/30 04:22 PM
        Intel RTM and HLE is a success (is it?)Foo_2021/03/31 12:16 AM
          Intel RTM and HLE was an abject failureanonymou52021/03/31 02:04 AM
          Intel RTM and HLE is a success (is it?)Andrey2021/03/31 04:27 AM
            Intel RTM and HLE is a success (is it?)Foo_2021/03/31 04:58 AM
              Intel RTM and HLE is a success (is it?)Andrey2021/03/31 06:45 AM
                Intel RTM and HLE is a success (is it?)Foo_2021/03/31 08:32 AM
                  Intel RTM and HLE is a success (is it?)Andrey2021/03/31 08:57 AM
                    Intel RTM and HLE is a success (is it?)anonymou52021/03/31 09:39 AM
                      ^ feel free to delete this one -- broken HTML there (NT)anonymou52021/03/31 09:40 AM
                      Intel RTM and HLE is a success (is it?)Andrey2021/03/31 09:47 AM
                    Intel RTM and HLE is a success (is it?)anonymou52021/03/31 09:40 AM
                Intel RTM and HLE is a success (is it?)Ganon2021/03/31 08:58 AM
                  Intel RTM and HLE is a success (is it?)anonymou52021/03/31 09:42 AM
                  Intel RTM and HLE is a success (is it?)Linus Torvalds2021/03/31 10:54 AM
                    Intel RTM and HLE is a success (is it?)Linus Torvalds2021/03/31 11:00 AM
                      Any idea about IBM?Mark Roulo2021/03/31 11:15 AM
                        Any idea about IBM?Linus Torvalds2021/03/31 11:37 AM
                          Any idea about IBM?dmcq2021/03/31 02:04 PM
                            Any idea about IBM?Linus Torvalds2021/03/31 03:44 PM
                              A non straw man view of hardware transactional memoryGanon2021/03/31 06:52 PM
                                A non straw man view of hardware transactional memoryanon22021/03/31 10:03 PM
                                  A non straw man view of hardware transactional memoryCarson2021/04/02 12:11 AM
                                    A non straw man view of hardware transactional memoryanon22021/04/02 04:28 AM
                              IBM zArch TM - guaranteed progressDavid Kanter2021/03/31 07:37 PM
                              Any idea about IBM?Andrey2021/03/31 10:31 PM
                                Any idea about IBM?Linus Torvalds2021/04/01 09:54 AM
                                  Any idea about IBM?Andrey2021/04/02 11:50 AM
                        Any idea about IBM?someone2021/03/31 11:02 PM
                      Intel RTM and HLE is a success (is it?)anon22021/03/31 02:46 PM
                        Intel RTM and HLE is a success (is it?)Linus Torvalds2021/03/31 04:08 PM
                          Leaving it to software is tricky!David Kanter2021/03/31 07:41 PM
                            And a hardware predicttor needs access to fallback timingCarson2021/04/01 10:13 PM
                              Hardware fallback pathAnon2021/04/02 09:51 AM
                              And a hardware predicttor needs access to fallback timingLinus Torvalds2021/04/03 09:41 AM
                                And a hardware predicttor needs access to fallback timingLinus Torvalds2021/04/03 10:11 AM
                                  And a hardware predicttor needs access to fallback timingsr2021/04/03 10:30 AM
                                    And a hardware predicttor needs access to fallback timingLinus Torvalds2021/04/03 11:14 AM
                                      And a hardware predicttor needs access to fallback timingsr2021/04/03 11:39 AM
                                        And a hardware predicttor needs access to fallback timingAnon2021/04/03 01:08 PM
                                          And a hardware predicttor needs access to fallback timingsr2021/04/03 01:33 PM
                                            And a hardware predicttor needs access to fallback timingdmcq2021/04/04 04:35 AM
                                        And a hardware predicttor needs access to fallback timingLinus Torvalds2021/04/03 01:22 PM
                                          Transactional memory isn't exclusive to lockingsr2021/04/03 11:17 PM
                                            Transactional memory isn't exclusive to lockingAspect of Anonimity2021/04/04 02:49 AM
                                            Transactional memory isn't exclusive to lockingAndrey2021/04/04 03:58 AM
                                              Transactional memory isn't exclusive to lockingsr2021/04/04 09:10 AM
                                                Transactional memory isn't exclusive to lockingAndrey2021/04/04 09:33 AM
                                                  Transactional memory isn't exclusive to lockingsr2021/04/05 01:41 AM
                                      And a hardware predicttor needs access to fallback timingGeertB2021/04/04 06:08 PM
                            Leaving it to software is tricky!Andrey2021/04/02 02:00 PM
                          Intel RTM and HLE is a success (is it?)@never_released2021/04/01 07:21 AM
                            Intel RTM and HLE is a success (is it?)@never_released2021/04/01 07:30 AM
                            Intel RTM and HLE is a success (is it?)Linus Torvalds2021/04/01 09:00 AM
                              Intel RTM and HLE is a success (is it?)dmcq2021/04/01 09:35 AM
                                Intel RTM and HLE is a success (is it?)Linus Torvalds2021/04/01 09:59 AM
                                  Is HTM actually in ARMv9?dncq2021/04/01 10:26 AM
                                    Is HTM actually in ARMv9?Linus Torvalds2021/04/01 11:13 AM
                              Intel RTM and HLE is a success (is it?)Jörn Engel2021/04/01 08:15 PM
                          Intel RTM and HLE is a success (is it?)---2021/04/02 09:00 AM
                      Intel RTM and HLE is a success (is it?)Jon Masters2021/04/01 09:56 AM
                        RockMichael S2021/04/01 11:29 AM
            Intel RTM and HLE is a success (is it?)Linus Torvalds2021/03/31 10:50 AM
              Intel RTM and HLE is a success (is it?)anon22021/03/31 02:57 PM
                Intel RTM and HLE is a success (is it?)anon32021/03/31 03:09 PM
          Intel RTM and HLE is a success (is it?)someone2021/03/31 10:56 PM
            Intel RTM and HLE is a success (is it?)someone2021/03/31 11:21 PM
              Intel RTM and HLE is a success (is it?)none2021/04/01 03:31 AM
                Intel RTM and HLE is a success (is it?)anonymou52021/04/01 08:24 AM
                  Intel RTM and HLE is a success (is it?)anony2021/04/01 09:26 AM
                  Intel RTM and HLE is a success (is it?)none2021/04/01 10:20 AM
                Intel RTM and HLE is a success (is it?)Brendan2021/04/01 04:23 PM
                  Intel RTM and HLE is a success (is it?)Adrian2021/04/02 12:03 AM
      Transactional memory similarity to garbage collectionPaul A. Clayton2021/04/05 12:53 PM
        Maybe notMark Roulo2021/04/05 02:07 PM
        Transactional memory similarity to garbage collectionAnon2021/04/05 02:14 PM
        No conflict between theory and practiceAspect of Anonimity2021/04/05 06:57 PM
          No conflict between theory and practiceNoSpammer2021/04/05 08:38 PM
            No conflict between theory and practicedmcq2021/04/06 06:05 AM
              No conflict between theory and practicesr2021/04/06 08:22 AM
                No conflict between theory and practiceBen LaHaise2021/04/06 02:43 PM
                  No conflict between theory and practicesr2021/04/07 08:42 AM
                    No conflict between theory and practiceAnon2021/04/07 09:06 AM
                    No conflict between theory and practiceLinus Torvalds2021/04/07 09:35 AM
                      No conflict between theory and practicesr2021/04/07 11:34 AM
                        If HTM were well implemented, nobody would complain (NT)Anon2021/04/07 11:54 AM
                          If HTM were well implemented, nobody would complaindmcq2021/04/07 02:36 PM
                            If HTM were well implemented, nobody would complainAnon2021/04/07 03:04 PM
                          If HTM were well implemented, nobody would complain---2021/04/08 08:37 AM
                        No conflict between theory and practiceLinus Torvalds2021/04/07 12:20 PM
                          No conflict between theory and practiceAndrey2021/04/07 01:32 PM
                            No conflict between theory and practicedmcq2021/04/07 02:32 PM
                              No conflict between theory and practiceanonymou52021/04/07 03:26 PM
                              No conflict between theory and practiceAndrey2021/04/07 04:54 PM
                                No conflict between theory and practiceLinus Torvalds2021/04/08 07:41 AM
                                  No conflict between theory and practiceAndrey2021/04/08 08:12 AM
                                  No conflict between theory and practiceRobert Williams2021/04/08 08:15 AM
                                    No conflict between theory and practiceLinus Torvalds2021/04/08 08:56 AM
                                      No conflict between theory and practiceRobert Williams2021/04/08 06:50 PM
                                        No conflict between theory and practiceLinus Torvalds2021/04/09 08:25 AM
                                          TSX for all?Robert Williams2021/04/09 11:46 AM
                                            It helps adoption when developers can run the code an their machines.Mark Roulo2021/04/09 11:54 AM
                                              It helps adoption when developers can run the code an their machines.me2021/04/09 01:21 PM
                                                It helps adoption when developers can run the code an their machines.Andrey2021/04/10 06:08 AM
                                                  It helps adoption when developers can run the code an their machines.me2021/04/10 11:43 AM
                                                    It helps adoption when developers can run the code an their machines.Robert Williams2021/04/10 06:05 PM
                                                      It helps adoption when developers can run the code an their machines.Andrey2021/04/11 12:42 AM
                                                        It helps adoption when developers can run the code an their machines.Michael S2021/04/11 03:23 AM
                                              It helps adoption when developers can run the code an their machines.Robert Williams2021/04/10 07:24 AM
                                                It helps adoption when developers can run the code an their machines.Andrey2021/04/10 09:36 AM
                                                  It helps adoption when developers can run the code an their machines.Michael S2021/04/10 09:58 AM
                                                    It helps adoption when developers can run the code an their machines.Robert Williams2021/04/10 10:42 AM
                                                    It helps adoption when developers can run the code an their machines.Brendan2021/04/10 10:27 PM
                                                      It helps adoption when developers can run the code an their machines.Michael S2021/04/11 02:34 AM
                                                        It helps adoption when developers can run the code an their machines.Brendan2021/04/11 03:18 PM
                                            TSX for all?wumpus2021/04/09 12:10 PM
                                            TSX for all?Linus Torvalds2021/04/09 02:03 PM
                                              [CLICK BAIT?] Torvalds to recommend arm64!anonymous22021/04/09 02:17 PM
                                              TSX for all?Linus Torvalds2021/04/09 02:22 PM
                                                amen! (NT)anonymou52021/04/09 04:42 PM
                                            TSX for all?Emil Briggs2021/04/10 04:52 AM
                                              TSX for all?Michael S2021/04/10 10:13 AM
                                                TSX for all?Brendan2021/04/10 10:05 PM
                                          No conflict between theory and practiceanonymouse2021/04/09 02:02 PM
                            No conflict between theory and practiceLinus Torvalds2021/04/07 04:12 PM
                              No conflict between theory and practiceAndrey2021/04/07 04:33 PM
                                No conflict between theory and practiceanon22021/04/07 07:12 PM
                                  No conflict between theory and practiceAndrey2021/04/07 11:29 PM
                                    No conflict between theory and practiceAnon2021/04/07 11:50 PM
                                    No conflict between theory and practiceanon22021/04/07 11:52 PM
                                      No conflict between theory and practiceAndrey2021/04/08 01:41 AM
                                        No conflict between theory and practiceAdrian2021/04/08 02:09 AM
                                          No conflict between theory and practiceAndrey2021/04/08 02:50 AM
                                            No conflict between theory and practiceAdrian2021/04/08 04:07 AM
                                            No conflict between theory and practiceanon22021/04/08 04:18 AM
                                              No conflict between theory and practiceAndrey2021/04/08 07:18 AM
                                                No conflict between theory and practiceanon22021/04/08 08:11 AM
                                                  No conflict between theory and practiceAndrey2021/04/08 08:48 AM
                                                    No conflict between theory and practiceanon22021/04/08 03:10 PM
                                            No conflict between theory and practice---2021/04/08 07:30 PM
                                              No conflict between theory and practicedmcq2021/04/09 01:25 AM
                                                No conflict between theory and practiceLinus Torvalds2021/04/09 08:44 AM
                                        No conflict between theory and practiceanon22021/04/08 03:09 AM
                                          No conflict between theory and practicesr2021/04/10 12:22 AM
                                            No conflict between theory and practiceAnon2021/04/10 03:00 AM
                                              No conflict between theory and practiceEtienne Lorrain2021/04/11 11:56 PM
                                                No conflict between theory and practiceAnon2021/04/12 12:54 AM
                                                  No conflict between theory and practicedmcq2021/04/12 12:44 PM
                              No conflict between theory and practiceGabriele Svelto2021/04/08 12:03 AM
                                No conflict between theory and practicedmcq2021/04/12 12:53 PM
                                  No conflict between theory and practicedmcq2021/04/14 03:50 AM
                      transactional memory = memory lock/unlocksr2021/04/09 11:56 PM
                        transactional memory = memory lock/unlockAnon2021/04/10 03:05 AM
                    No conflict between theory and practiceanon22021/04/07 04:19 PM
                No conflict between theory and practicedmcq2021/04/07 12:16 PM
            No conflict between theory and practiceAnon2021/04/06 09:46 AM
            No conflict between theory and practiceAspect of Anonimity2021/04/06 01:16 PM
              No conflict between theory and practiceNoSpammer2021/04/09 11:02 PM
                No conflict between theory and practicesr2021/04/10 12:47 AM
                No conflict between theory and practiceAspect of Anonimity2021/04/10 10:30 PM
                  No conflict between theory and practiceAndrey2021/04/11 04:05 AM
                    HmAspect of Anonimity2021/04/12 06:29 PM
                      Special internal SRAM to store Mutex?Etienne Lorrain2021/04/13 12:01 AM
                        Special internal SRAM to store Mutex?Anon2021/04/13 12:26 AM
                        Special internal SRAM to store Mutex?Linus Torvalds2021/04/13 08:53 AM
                        Special internal SRAM to store Mutex?Dan Fay2021/04/13 11:03 AM
                          Special internal SRAM to store Mutex?Ben LaHaise2021/04/13 02:32 PM
                          Special internal SRAM to store Mutex?Gabriele Svelto2021/04/13 10:43 PM
                        Special internal SRAM to store Mutex?Carson2021/04/13 09:19 PM
          No conflict between theory and practicesr2021/04/06 06:12 AM
            No conflict between theory and practiceAnon2021/04/06 09:43 AM
            No conflict between theory and practiceAspect of Anonimity2021/04/06 02:20 PM
              No conflict between theory and practicesr2021/04/07 09:09 AM
                No conflict between theory and practiceanon22021/04/07 07:53 PM
  Armv9 officially announceddmcq2021/03/30 02:28 PM
    Totally backwads logic on compatibilityHeikki Kultala2021/03/30 02:44 PM
      Totally backwads logic on compatibilityDoug S2021/03/31 11:09 AM
        Totally backwads logic on compatibilitydmcq2021/03/31 02:15 PM
  Armv9 officially announcedv92021/04/12 02:57 PM
    Armv9 officially announcedj2021/04/13 04:07 AM
      Armv9 officially announcedDoug S2021/04/13 09:21 AM
        Armv9 officially announcedanonymou52021/04/13 10:06 AM
          Armv9 officially announcedDoug S2021/04/13 12:01 PM
        Armv9 officially announceddmcq2021/04/13 02:20 PM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?