From: Peter Zijlstra <peterz@infradead.org>
To: Justin He <Justin.He@arm.com>
Cc: Borislav Petkov <bp@alien8.de>, Len Brown <lenb@kernel.org>,
James Morse <James.Morse@arm.com>,
Tony Luck <tony.luck@intel.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Robert Richter <rric@kernel.org>,
Robert Moore <robert.moore@intel.com>,
Qiuxu Zhuo <qiuxu.zhuo@intel.com>,
Yazen Ghannam <yazen.ghannam@amd.com>,
Jan Luebbe <jlu@pengutronix.de>,
Khuong Dinh <khuong@os.amperecomputing.com>,
Kani Toshi <toshi.kani@hpe.com>, Ard Biesheuvel <ardb@kernel.org>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
"devel@acpica.org" <devel@acpica.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
Shuai Xue <xueshuai@linux.alibaba.com>,
Jarkko Sakkinen <jarkko@kernel.org>,
"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
nd <nd@arm.com>, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v8 6/7] apei/ghes: Use unrcu_pointer for cmpxchg
Date: Thu, 13 Oct 2022 18:41:26 +0200 [thread overview]
Message-ID: <Y0g/tkm3a3Rm2RlK@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <DBBPR08MB4538D5A85F707632ACCB70A4F7229@DBBPR08MB4538.eurprd08.prod.outlook.com>
On Wed, Oct 12, 2022 at 12:04:57PM +0000, Justin He wrote:
> > This is a combined diff - do a second patch which does only remove the
> > smp_wmb(). The smp_wmb() there is not needed as the cmpxchg() already
> > implies a smp_mb() so there's no need for that separate, explicit one.
> >
> I have a concern about what if cmpxchg failed? Do we have to still
> guarantee the ordering since cmpxchg will not imply a smp_mb if it
> failed.
>
> Besides, I didn't find the paired smp_mb or smp_rmb
> for this smp_wmb. Do you have any ideas?
failed cmpxchg does indeed not imply smp_mb; but in that case I can't
find a store it orders against; and the comment is utterly shite since
it doesn't spell out the ordering in any case.
The way I read that code is that the cmpxchg effectively publishes the
data and all it wants to ensure is that if the pointer is publised the
object is complete -- in which case the cpmxchg() is sufficient, on
success the object is published and you get the ordering, on failure the
object isn't published and nobody cares about the ordering anyway.
If there's anything else, the comment is in dire need of fixing anyway.
next prev parent reply other threads:[~2022-10-13 16:42 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-10 2:35 [PATCH v8 0/7] Make ghes_edac a proper module Jia He
2022-10-10 2:35 ` [PATCH v8 1/7] efi/cper: export several helpers for ghes_edac to use Jia He
2022-10-10 2:35 ` [PATCH v8 2/7] EDAC/ghes: Add a notifier for reporting memory errors Jia He
2022-10-10 2:35 ` [PATCH v8 3/7] EDAC/ghes: Prepare to make ghes_edac a proper module Jia He
2022-10-10 2:35 ` [PATCH v8 4/7] EDAC/ghes: Make ghes_edac a proper module to remove the dependency on ghes Jia He
2022-10-10 2:35 ` [PATCH v8 5/7] EDAC: Add the ghes_get_devices() check for chipset-specific edac drivers Jia He
2022-10-10 2:35 ` [PATCH v8 6/7] apei/ghes: Use unrcu_pointer for cmpxchg Jia He
2022-10-11 10:33 ` Borislav Petkov
2022-10-11 14:32 ` Justin He
2022-10-11 14:45 ` Borislav Petkov
2022-10-12 4:35 ` Justin He
2022-10-12 12:04 ` Justin He
2022-10-13 13:37 ` Borislav Petkov
2022-10-13 15:41 ` Ard Biesheuvel
2022-10-13 16:37 ` Borislav Petkov
2022-10-13 16:45 ` Peter Zijlstra
2022-10-13 17:42 ` Borislav Petkov
2022-10-14 9:40 ` Ard Biesheuvel
2022-10-14 19:40 ` Borislav Petkov
2022-10-14 12:00 ` Justin He
2022-10-14 14:31 ` Ard Biesheuvel
2022-10-14 15:10 ` Peter Zijlstra
2022-10-14 15:24 ` Ard Biesheuvel
2022-10-17 8:47 ` Justin He
2022-10-17 9:27 ` Ard Biesheuvel
2022-10-17 11:57 ` Justin He
2022-10-13 16:41 ` Peter Zijlstra [this message]
2022-10-10 2:35 ` [PATCH v8 7/7] EDAC/igen6: Return consistent errno when another edac driver is enabled Jia He
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=Y0g/tkm3a3Rm2RlK@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=James.Morse@arm.com \
--cc=Justin.He@arm.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=devel@acpica.org \
--cc=jarkko@kernel.org \
--cc=jlu@pengutronix.de \
--cc=khuong@os.amperecomputing.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=mchehab@kernel.org \
--cc=nd@arm.com \
--cc=qiuxu.zhuo@intel.com \
--cc=rafael@kernel.org \
--cc=robert.moore@intel.com \
--cc=rric@kernel.org \
--cc=tony.luck@intel.com \
--cc=toshi.kani@hpe.com \
--cc=xueshuai@linux.alibaba.com \
--cc=yazen.ghannam@amd.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox