From: jamal <hadi@cyberus.ca>
To: Patrick McHardy <kaber@trash.net>
Cc: "David S. Miller" <davem@davemloft.net>,
netdev@vger.kernel.org, Thomas Graf <tgraf@suug.ch>
Subject: Re: [PATCH 1/1][PKT_CLS] Avoid multiple tree locks
Date: Thu, 22 Mar 2007 02:07:19 -0400 [thread overview]
Message-ID: <1174543640.4895.28.camel@localhost> (raw)
In-Reply-To: <46013B73.2060804@trash.net>
On Wed, 2007-21-03 at 15:04 +0100, Patrick McHardy wrote:
> Patrick McHardy wrote:
> > What we could do is replace the netlink cb_lock spinlock by a
> > user-supplied mutex (supplied to netlink_kernel_create, rtnl_mutex
> > in this case). That would put the entire dump under the rtnl and
> > allow us to get rid of qdisc_tree_lock and avoid the need to take
> > dev_base_lock during qdisc dumping. Same in other spots like
> > rtnl_dump_ifinfo, inet_dump_ifaddr, ...
>
>
> These (compile tested) patches demonstrate the idea.
>
> The first one
> lets netlink_kernel_create users specify a mutex that should be
> held during dump callbacks, the second one uses this for rtnetlink
> and changes inet_dump_ifaddr for demonstration.
>
> A complete patch would allow us to simplify locking in lots of
> spots, all rtnetlink users currently need to implement extra
> locking just for the dump functions, and a number of them
> already get it wrong and seem to rely on the rtnl.
>
The mutex is certainly a cleaner approach;
and a lot of the RCU protection would go away. I like it.
Knowing you i sense theres something clever in there that i am
missing. I dont see how you could get rid of the tree locking
since we need to protect against the data path still, no?
Or are you looking at that as a separate effort?
> If there are no objections to this change I'm going to update
> the second patch to include all rtnetlink users.
No objections here.
cheers,
jamal
next prev parent reply other threads:[~2007-03-22 6:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-21 9:58 [PATCH 1/1][PKT_CLS] Avoid multiple tree locks jamal
2007-03-21 10:10 ` Patrick McHardy
2007-03-21 10:17 ` Patrick McHardy
2007-03-21 12:35 ` Patrick McHardy
2007-03-21 14:04 ` Patrick McHardy
2007-03-21 14:06 ` Patrick McHardy
2007-03-22 6:07 ` jamal [this message]
2007-03-22 11:36 ` Patrick McHardy
2007-03-23 13:12 ` jamal
2007-03-27 23:44 ` David Miller
2007-03-21 10:38 ` jamal
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=1174543640.4895.28.camel@localhost \
--to=hadi@cyberus.ca \
--cc=davem@davemloft.net \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=tgraf@suug.ch \
/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.