From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
To: Oleg Nesterov <oleg@redhat.com>
Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
peterz@infradead.org, torvalds@linux-foundation.org,
konrad.wilk@oracle.com, pbonzini@redhat.com,
paulmck@linux.vnet.ibm.com, waiman.long@hp.com, davej@redhat.com,
x86@kernel.org, jeremy@goop.org, paul.gortmaker@windriver.com,
ak@linux.intel.com, jasowang@redhat.com,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org,
xen-devel@lists.xenproject.org, riel@redhat.com,
borntraeger@de.ibm.com, akpm@linux-foundation.org,
a.ryabinin@samsung.com, sasha.levin@oracle.com,
dave@stgolabs.net
Subject: Re: [PATCH V5] x86 spinlock: Fix memory corruption on completing completions
Date: Sun, 15 Feb 2015 23:04:01 +0530 [thread overview]
Message-ID: <54E0D889.8030206@linux.vnet.ibm.com> (raw)
In-Reply-To: <20150215161733.GB27608@redhat.com>
On 02/15/2015 09:47 PM, Oleg Nesterov wrote:
> Well, I regret I mentioned the lack of barrier after enter_slowpath ;)
>
> On 02/15, Raghavendra K T wrote:
>>
>> @@ -46,7 +46,8 @@ static __always_inline bool static_key_false(struct static_key *key);
>>
>> static inline void __ticket_enter_slowpath(arch_spinlock_t *lock)
>> {
>> - set_bit(0, (volatile unsigned long *)&lock->tickets.tail);
>> + set_bit(0, (volatile unsigned long *)&lock->tickets.head);
>> + barrier();
>> }
>
> Because this barrier() looks really confusing.
>
> Firsty, it is equally unneeded on x86. At the same time, it can not help.
> We need a memory barrier() between set_bit(SLOWPATH) and READ_ONCE(head)
> to avoid the race with spin_unlock().
>
> So I think you should replace it with smp_mb__after_atomic() or remove it.
>
I resent the patch the above change.
>
> Other than that I believe this version is correct. So I won't insist, this
> is cosmetic after all.
Thanks Oleg.
next prev parent reply other threads:[~2015-02-15 17:34 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-15 5:55 [PATCH V5] x86 spinlock: Fix memory corruption on completing completions Raghavendra K T
2015-02-15 5:55 ` Raghavendra K T
2015-02-15 5:55 ` Raghavendra K T
2015-02-15 6:01 ` Raghavendra K T
2015-02-15 6:01 ` Raghavendra K T
2015-02-15 6:01 ` Raghavendra K T
2015-02-17 18:26 ` Sasha Levin
2015-02-17 18:26 ` Sasha Levin
2015-02-17 18:26 ` Sasha Levin
2015-02-15 16:17 ` Oleg Nesterov
2015-02-15 16:17 ` Oleg Nesterov
2015-02-15 16:17 ` Oleg Nesterov
2015-02-15 17:34 ` Raghavendra K T
2015-02-15 17:34 ` Raghavendra K T [this message]
2015-02-15 17:34 ` Raghavendra K T
2015-02-15 17:30 ` Raghavendra K T
2015-02-15 17:30 ` Raghavendra K T
2015-02-15 17:30 ` Raghavendra K T
2015-02-15 17:30 ` Raghavendra K T
2015-02-15 20:31 ` Oleg Nesterov
2015-02-15 20:31 ` Oleg Nesterov
2015-02-15 20:31 ` Oleg Nesterov
2015-02-16 16:47 ` [Xen-devel] " David Vrabel
2015-02-16 16:47 ` David Vrabel
2015-02-17 10:03 ` Raghavendra K T
2015-02-17 10:03 ` Raghavendra K T
2015-02-17 10:03 ` [Xen-devel] " Raghavendra K T
2015-02-16 16:47 ` David Vrabel
2015-02-18 17:07 ` [tip:locking/core] x86/spinlocks/paravirt: Fix memory corruption on unlock tip-bot for Raghavendra K T
-- strict thread matches above, loose matches on Subject: below --
2015-02-15 5:55 [PATCH V5] x86 spinlock: Fix memory corruption on completing completions Raghavendra K T
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=54E0D889.8030206@linux.vnet.ibm.com \
--to=raghavendra.kt@linux.vnet.ibm.com \
--cc=a.ryabinin@samsung.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=borntraeger@de.ibm.com \
--cc=dave@stgolabs.net \
--cc=davej@redhat.com \
--cc=hpa@zytor.com \
--cc=jasowang@redhat.com \
--cc=jeremy@goop.org \
--cc=konrad.wilk@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=oleg@redhat.com \
--cc=paul.gortmaker@windriver.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=sasha.levin@oracle.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=virtualization@lists.linux-foundation.org \
--cc=waiman.long@hp.com \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.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.