From: Borislav Petkov <bp@alien8.de>
To: "Zheng, Lv" <lv.zheng@intel.com>
Cc: linux-edac <linux-edac@vger.kernel.org>,
Jiri Kosina <jkosina@suse.cz>, Borislav Petkov <bp@suse.de>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>, "Luck, Tony" <tony.luck@intel.com>,
Tomasz Nowicki <tomasz.nowicki@linaro.org>,
"Chen, Gong" <gong.chen@linux.intel.com>,
Wolfram Sang <wsa@the-dreams.de>,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH 5/5] GHES: Make NMI handler have a single reader
Date: Mon, 27 Apr 2015 10:46:31 +0200 [thread overview]
Message-ID: <20150427084631.GA6774@pd.tnic> (raw)
In-Reply-To: <1AE640813FDE7649BE1B193DEA596E880270F2B2@SHSMSX101.ccr.corp.intel.com>
On Mon, Apr 27, 2015 at 03:16:00AM +0000, Zheng, Lv wrote:
> > @@ -840,7 +840,9 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
> > struct ghes *ghes;
> > int sev, ret = NMI_DONE;
> >
> > - raw_spin_lock(&ghes_nmi_lock);
> > + if (!atomic_add_unless(&ghes_in_nmi, 1, 1))
> > + return ret;
> > +
>
> Just a simple question.
> Why not just using cmpxchg here instead of atomic_add_unless so that no atomic_dec will be needed.
What do you think atomic_add_unless ends up doing:
#APP
# 177 "./arch/x86/include/asm/atomic.h" 1
.pushsection .smp_locks,"a"
.balign 4
.long 671f - .
.popsection
671:
lock; cmpxchgl %edx,ghes_in_nmi(%rip) # D.37056, MEM[(volatile u32 *)&ghes_in_nmi]
# 0 "" 2
#NO_APP
And you need to atomic_dec() so that another reader can enter, i.e. how
the exclusion primitive works.
Or did you have something else in mind?
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
next prev parent reply other threads:[~2015-04-27 8:46 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-27 9:22 [RFC PATCH 0/5] GHES NMI handler cleanup Borislav Petkov
2015-03-27 9:22 ` [RFC PATCH 1/5] GHES: Carve out error queueing in a separate function Borislav Petkov
2015-03-27 9:22 ` [RFC PATCH 2/5] GHES: Carve out the panic functionality Borislav Petkov
2015-03-27 9:22 ` [RFC PATCH 3/5] GHES: Panic right after detection Borislav Petkov
2015-03-27 9:22 ` [RFC PATCH 4/5] GHES: Elliminate double-loop in the NMI handler Borislav Petkov
2015-03-27 9:22 ` [RFC PATCH 5/5] GHES: Make NMI handler have a single reader Borislav Petkov
2015-04-01 7:45 ` Jiri Kosina
2015-04-01 13:49 ` Borislav Petkov
2015-04-23 8:39 ` Jiri Kosina
2015-04-23 8:59 ` Borislav Petkov
2015-04-23 18:00 ` Luck, Tony
2015-04-23 18:00 ` Luck, Tony
2015-04-27 20:23 ` Borislav Petkov
2015-04-28 14:30 ` Don Zickus
2015-04-28 14:42 ` Don Zickus
2015-04-28 14:55 ` Borislav Petkov
2015-04-28 15:35 ` Don Zickus
2015-04-28 16:22 ` Borislav Petkov
2015-04-28 18:44 ` Don Zickus
2015-05-04 15:40 ` Borislav Petkov
2015-04-27 3:16 ` Zheng, Lv
2015-04-27 8:46 ` Borislav Petkov [this message]
2015-04-28 0:44 ` Zheng, Lv
2015-04-28 0:44 ` Zheng, Lv
2015-04-28 2:24 ` Zheng, Lv
2015-04-28 2:24 ` Zheng, Lv
2015-04-28 7:38 ` Borislav Petkov
2015-04-28 13:38 ` Zheng, Lv
2015-04-28 13:59 ` Borislav Petkov
2015-04-29 0:24 ` Zheng, Lv
2015-04-29 0:24 ` Zheng, Lv
2015-04-29 0:49 ` Zheng, Lv
2015-04-29 0:49 ` Zheng, Lv
2015-04-29 8:13 ` Borislav Petkov
2015-04-30 8:05 ` Zheng, Lv
2015-04-30 8:05 ` Zheng, Lv
2015-04-30 8:48 ` Borislav Petkov
2015-05-02 0:34 ` Zheng, Lv
2015-05-02 0:34 ` Zheng, Lv
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=20150427084631.GA6774@pd.tnic \
--to=bp@alien8.de \
--cc=bp@suse.de \
--cc=gong.chen@linux.intel.com \
--cc=jkosina@suse.cz \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lv.zheng@intel.com \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=rjw@rjwysocki.net \
--cc=tomasz.nowicki@linaro.org \
--cc=tony.luck@intel.com \
--cc=wsa@the-dreams.de \
/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.