From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
George Dunlap <George.Dunlap@eu.citrix.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Ian Jackson <ian.jackson@eu.citrix.com>,
xen-devel@lists.xenproject.org
Subject: Re: [Xen-devel] [PATCH 1/2] smp: convert the cpu maps lock into a rw lock
Date: Wed, 19 Feb 2020 15:38:59 +0100 [thread overview]
Message-ID: <20200219143859.GC4679@Air-de-Roger> (raw)
In-Reply-To: <80960f9e-790d-cd3e-aa99-b45c585a6f8a@suse.com>
On Wed, Feb 19, 2020 at 02:42:58PM +0100, Jan Beulich wrote:
> On 19.02.2020 14:19, Roger Pau Monné wrote:
> > On Wed, Feb 19, 2020 at 01:56:02PM +0100, Jan Beulich wrote:
> >> On 13.02.2020 12:32, Roger Pau Monne wrote:
> >>> void __init register_cpu_notifier(struct notifier_block *nb)
> >>> {
> >>> - if ( !spin_trylock(&cpu_add_remove_lock) )
> >>> + if ( !write_trylock(&cpu_add_remove_lock) )
> >>> BUG(); /* Should never fail as we are called only during boot. */
> >>> notifier_chain_register(&cpu_chain, nb);
> >>> - spin_unlock(&cpu_add_remove_lock);
> >>> + write_unlock(&cpu_add_remove_lock);
> >>> }
> >>
> >> So why a write lock here?
> >
> > notifier_chain_register calls cannot be made in parallel, as they
> > modify the underlying notifier list without taking any additional
> > locks.
>
> I.e. the lock is being (ab)used to also protect the notifier list,
> which is certainly not its purpose. (The locking seems quite
> pointless here anyway considering the __init together with the
> nature of the function.)
Right, it's quite likely that the lock is pointless, I haven't looked
at all the callers to assure this. Anyway, iff the lock can be safely
removed that should be done in a different patch, and not this one
IMO. This merely switching existing users to use a rw lock.
Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2020-02-19 14:39 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-13 11:32 [Xen-devel] [PATCH 0/2] smp: convert cpu_add_remove_lock int a rw lock Roger Pau Monne
2020-02-13 11:32 ` [Xen-devel] [PATCH 1/2] smp: convert the cpu maps lock into " Roger Pau Monne
2020-02-19 12:08 ` Julien Grall
2020-02-19 12:56 ` Jan Beulich
2020-02-19 13:19 ` Roger Pau Monné
2020-02-19 13:42 ` Jan Beulich
2020-02-19 14:38 ` Roger Pau Monné [this message]
2020-02-20 8:13 ` Jan Beulich
2020-02-20 8:27 ` Jürgen Groß
2020-02-20 8:36 ` Jan Beulich
2020-02-20 8:57 ` Julien Grall
2020-02-20 9:20 ` Roger Pau Monné
2020-02-13 11:32 ` [Xen-devel] [PATCH 2/2] smp: convert cpu_hotplug_begin into a blocking lock acquisition Roger Pau Monne
2020-02-19 12:59 ` Jan Beulich
2020-02-19 13:22 ` Roger Pau Monné
2020-02-19 13:44 ` Jan Beulich
2020-02-19 14:45 ` Roger Pau Monné
2020-02-19 14:57 ` Jan Beulich
2020-02-19 15:07 ` Andrew Cooper
2020-02-19 16:06 ` Jan Beulich
2020-02-19 16:26 ` Roger Pau Monné
2020-02-19 17:06 ` Jan Beulich
2020-02-19 16:54 ` Andrew Cooper
2020-02-19 16:08 ` Roger Pau Monné
2020-02-19 17:03 ` Jan Beulich
2020-02-20 8:16 ` Jan Beulich
2020-02-21 10:23 ` Roger Pau Monné
2020-02-21 13:06 ` Jan Beulich
2020-02-19 14:58 ` Andrew Cooper
2020-02-19 12:22 ` [Xen-devel] [PATCH 0/2] smp: convert cpu_add_remove_lock int a rw lock Andrew Cooper
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=20200219143859.GC4679@Air-de-Roger \
--to=roger.pau@citrix.com \
--cc=George.Dunlap@eu.citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=konrad.wilk@oracle.com \
--cc=sstabellini@kernel.org \
--cc=wl@xen.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.