All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Halil Pasic <pasic@linux.ibm.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	qemu-s390x@nongnu.org, Andre Wild <Andre.Wild1@ibm.com>,
	qemu-devel@nongnu.org,
	Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [PULL 13/14] virtio-ccw: fix virtio_set_ind_atomic
Date: Mon, 6 Jul 2020 13:38:23 +0200	[thread overview]
Message-ID: <20200706133823.64f6945a.cohuck@redhat.com> (raw)
In-Reply-To: <20200706132311.2add044f.pasic@linux.ibm.com>

On Mon, 6 Jul 2020 13:23:11 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> On Fri,  3 Jul 2020 12:06:49 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:
> 
> > From: Halil Pasic <pasic@linux.ibm.com>
> > 
> > The atomic_cmpxchg() loop is broken because we occasionally end up with
> > old and _old having different values (a legit compiler can generate code
> > that accessed *ind_addr again to pick up a value for _old instead of
> > using the value of old that was already fetched according to the
> > rules of the abstract machine). This means the underlying CS instruction
> > may use a different old (_old) than the one we intended to use if
> > atomic_cmpxchg() performed the xchg part.
> > 
> > Let us use volatile to force the rules of the abstract machine for
> > accesses to *ind_addr. Let us also rewrite the loop so, we that the  
> 
> Michael T. Has pointed out that this sentence is ungrammatical. 
> 
> s/we// would IMHO solve the problem. Can we fix this before it gets
> merged?

Unfortunately, it's already too late :(

> 
> > new old is used to compute the new desired value if the xchg part
> > is not performed.



  reply	other threads:[~2020-07-06 11:39 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-03 10:06 [PULL 00/14] s390x update Cornelia Huck
2020-07-03 10:06 ` [PULL 01/14] pc-bios: s390x: cio.c cleanup and compile fix Cornelia Huck
2020-07-03 10:06 ` [PULL 02/14] pc-bios: s390x: Consolidate timing functions into time.h Cornelia Huck
2020-07-03 10:06 ` [PULL 03/14] pc-bios: s390x: Move sleep and yield to helper.h Cornelia Huck
2020-07-03 10:06 ` [PULL 04/14] pc-bios: s390x: Get rid of magic offsets into the lowcore Cornelia Huck
2020-07-03 10:06 ` [PULL 05/14] pc-bios: s390x: Rename PSW_MASK_ZMODE to PSW_MASK_64 Cornelia Huck
2020-07-03 10:06 ` [PULL 06/14] pc-bios: s390x: Use PSW masks where possible and introduce PSW_MASK_SHORT_ADDR Cornelia Huck
2020-07-03 10:06 ` [PULL 07/14] pc-bios: s390x: Move panic() into header and add infinite loop Cornelia Huck
2020-07-03 10:06 ` [PULL 08/14] pc-bios: s390x: Use ebcdic2ascii table Cornelia Huck
2020-07-03 10:06 ` [PULL 09/14] pc-bios: s390x: Make u32 ptr check explicit Cornelia Huck
2020-07-03 10:06 ` [PULL 10/14] pc-bios/s390-ccw: Generate and include dependency files in the Makefile Cornelia Huck
2020-07-03 10:06 ` [PULL 11/14] pc-bios/s390: Update s390-ccw bios binaries with the latest changes Cornelia Huck
2020-07-03 10:06 ` [PULL 12/14] target/s390x: Fix SQXBR Cornelia Huck
2020-07-03 10:06 ` [PULL 13/14] virtio-ccw: fix virtio_set_ind_atomic Cornelia Huck
2020-07-06 11:23   ` Halil Pasic
2020-07-06 11:38     ` Cornelia Huck [this message]
2020-09-08  9:34   ` Halil Pasic
2020-07-03 10:06 ` [PULL 14/14] s390x/pci: fix set_ind_atomic Cornelia Huck
2020-07-06 11:23   ` Halil Pasic
2020-09-08  9:36   ` Halil Pasic
2020-07-03 10:46 ` [PULL 00/14] s390x update no-reply
2020-07-04 13:58 ` Peter Maydell

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=20200706133823.64f6945a.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=Andre.Wild1@ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    /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.