On Fri, 3 Jul 2020 15:37:11 +0200 Halil Pasic <pa...@linux.ibm.com> wrote:
> On Wed, 1 Jul 2020 14:06:11 +0200 > Christian Borntraeger <borntrae...@de.ibm.com> wrote: > > > > > > > On 01.07.20 14:01, Cornelia Huck wrote: > > > On Tue, 16 Jun 2020 06:50:33 +0200 > > > Halil Pasic <pa...@linux.ibm.com> wrote: > > > > > >> The story short: compiler can generate code that does two > > >> distinct fetches of *ind_addr for old and _old. If that happens we can > > >> not figure out if we had the desired xchg or not. > > >> > > >> Halil Pasic (2): > > >> virtio-ccw: fix virtio_set_ind_atomic > > >> s390x/pci: fix set_ind_atomic > > >> > > >> hw/s390x/s390-pci-bus.c | 16 +++++++++------- > > >> hw/s390x/virtio-ccw.c | 18 ++++++++++-------- > > >> 2 files changed, 19 insertions(+), 15 deletions(-) > > >> > > >> > > >> base-commit: 7d3660e79830a069f1848bb4fa1cdf8f666424fb > > > > > > Have we managed to reach any kind of agreement on this? (A v2?) > > > > > > We can still get in fixes post-softfreeze, of course. > > > > Unless Halil has a v2 ready, > > I think the current patch is fine as is as a fix. I would suggest > > to go with that and we can then do more beautification later when > > necessary. > > > > > > I think we were waiting for Paolo to chime in regarding the barrier(). > The thing I could beautify is using atomic_read(), but frankly I'm not > sure about it, especially considering multi-proccess. My understanding of > volatile is better than my understanding of atomic_read(). On the other > hand, same multi-process question can be asked about atomic_cmpxchg() > and __atomic_compare_exchange_n()... We can just improve the code on top later. Having something that works now beats something not yet developed that might be nicer :) (But yes, it also might be good to look at non-s390 examples of this pattern and check if something can be done in a more central place.)