netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@davemloft.net>
To: Thomas Graf <tgraf@suug.ch>
Cc: netdev@oss.sgi.com
Subject: Re: [RFC] neighbour tables configuration via rtnetlink
Date: Sun, 24 Apr 2005 19:37:21 -0700	[thread overview]
Message-ID: <20050424193721.01ecb0b2.davem@davemloft.net> (raw)
In-Reply-To: <20050305172257.GN31837@postel.suug.ch>

On Sat, 5 Mar 2005 18:22:57 +0100
Thomas Graf <tgraf@suug.ch> wrote:

> Before I go ahead, putting more effort into it, what is our preferred
> interface for network configuration? My personal preference is to make
> everything available via netlink with the long term plan to extend it
> with distributive remote configuration protocol in userspace. If so,
> shall we continue to push everything into rtnetlink regardless of the
> association to routing? The only drawback of the currently "overloaded"
> rtnetlink is the rtnl semaphore which has grown into something like
> the BKL for networking. I'm not aware of any performance problems or
> other issues because of this except for the module loading over nfs.
> Does anyone?
> 
> Thoughts?

Perhaps we shouldn't try to assosciate the rtnl semaphore with lock_kernel().
It really is more of a write lock than a lock which protects both reads
and writes.  (yes, I realize the rtnl packet processing code holds this
thing for all messages, not just ones which modify config state)

It is always going to be tempting to finer-grain the rtnl semaphore, but
just about every single RTNL state change has some trickle down effect on
some generic network device setting.  So at that moment any attempt to
fine-grain the locking for an RTNL operation fails.

It is tempting to consider a hierarchy of locks, with a locking order
such that generic netdev stuff sits at the bottom.  But welcome to an
AB<-->BA deadlock city as we hit generic device state changes which cause
modification of protocol specific addressing and routing state.

Back to the main topic, Thomas do you plan to complete this rtnetlink'ification
of neigh for the 2.6.13 timeframe?

      parent reply	other threads:[~2005-04-25  2:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-05 17:22 [RFC] neighbour tables configuration via rtnetlink Thomas Graf
2005-03-07 13:34 ` jamal
2005-03-07 14:26   ` Thomas Graf
2005-03-08  0:03     ` jamal
2005-03-08  1:37       ` Thomas Graf
2005-03-08 13:54         ` jamal
2005-03-08 14:27           ` Thomas Graf
2005-03-08 22:21             ` jamal
2005-04-25  2:37 ` David S. Miller [this message]

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=20050424193721.01ecb0b2.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=netdev@oss.sgi.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).