public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: chas@cmf.nrl.navy.mil
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH][ATM] use rtnl_{lock,unlock} during device operations (take 2)
Date: Fri, 06 Jun 2003 04:04:10 -0700 (PDT)	[thread overview]
Message-ID: <20030606.040410.54190551.davem@redhat.com> (raw)
In-Reply-To: <200306061100.h56B08sG024506@ginger.cmf.nrl.navy.mil>

   From: chas williams <chas@cmf.nrl.navy.mil>
   Date: Fri, 06 Jun 2003 06:58:20 -0400

   In message <20030606.023618.13768006.davem@redhat.com>,"David S. Miller" writes:
   >Read the comment above dev_base in drivers/net/Space.c to see what
   >the intended locking model is.
   
   yeah, i already read that.  it has a bit of a typo (rtln indeed).
   it looks like rtnl_lock() is also used to protect dev_ioctl's
   (thus my usage in atm_ioctl) and protect lookup's like __dev_get_by_name.

RTNL also protects the rest of all networking administrative
via being acquired in the recvmsg() loop of rtnetlink.c

Basically it protects all networking administrative actions, add an
address for a device, up a device, down a device, add a route, attach
a packet scheduler to dev, etc. etc.

   i didnt get rid of atm_dev_lock, i just dont use it unless writing
   or if i couldnt safely use rtnl when a reader is iterating (like
   atm_dev_hold() which could be called at interrupt--though no one does).
   i thought this was the idea.
   
Hmmm, this is not how RTNL works on netdevs.  The SMP lock is held
around all walking, and at the very precise moment where we are
doing the actual device unlink from dev_base.  rtnl is acquired at
top-level when we will change something.

This is very different from how you are using the lock+rtnl scheme
for your ATM stuff.


  reply	other threads:[~2003-06-06 10:53 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-05 15:28 [PATCH][ATM] use rtnl_{lock,unlock} during device operations (take 2) chas williams
2003-06-06  9:36 ` David S. Miller
2003-06-06 10:58   ` chas williams
2003-06-06 11:04     ` David S. Miller [this message]
2003-06-06 13:57       ` Werner Almesberger
2003-06-06 14:07         ` David S. Miller
2003-06-06 15:13           ` Werner Almesberger
2003-06-06 15:16             ` David S. Miller
2003-06-06 15:26               ` Werner Almesberger
2003-06-06 15:28                 ` David S. Miller
2003-06-06 15:54                   ` Werner Almesberger
2003-06-06 15:55                     ` David S. Miller
2003-06-06 16:40                       ` Werner Almesberger
2003-06-06 21:54                       ` Mitchell Blank Jr
2003-06-06 23:19                         ` Werner Almesberger
2003-06-06 23:44                           ` Mitchell Blank Jr
2003-06-07  0:44                           ` chas williams
2003-06-07  0:59                             ` Werner Almesberger
2003-06-07 11:10                           ` chas williams
2003-06-06 23:37                         ` chas williams
2003-06-06 21:43                     ` Mitchell Blank Jr
2003-06-06 22:56                       ` Werner Almesberger
2003-06-06 23:52                     ` chas williams
2003-06-07  0:20                       ` Werner Almesberger
2003-06-07  0:51                         ` chas williams
2003-06-07  1:12                           ` Werner Almesberger
2003-06-07  6:58                         ` David S. Miller
2003-06-07 19:01                           ` Roman Zippel
2003-06-08  6:57                             ` David S. Miller
2003-06-08 22:32                               ` Roman Zippel
2003-06-09  5:35                                 ` David S. Miller
2003-06-09 22:59                                   ` Roman Zippel
2003-06-09 23:00                                     ` David S. Miller
2003-06-09 23:14                                       ` Roman Zippel
2003-06-09 23:14                                         ` David S. Miller
2003-06-09 23:34                                           ` Roman Zippel
2003-06-09 23:39                                             ` David S. Miller
2003-06-10 18:27                                               ` Roman Zippel
2003-06-08  3:45                           ` Werner Almesberger
2003-06-08  6:43                             ` David S. Miller
2003-06-10 21:34                               ` Werner Almesberger
2003-06-10 22:16                                 ` David S. Miller
2003-06-06 23:58                 ` chas williams
2003-06-07  0:06                   ` Werner Almesberger
2003-06-07  0:45                     ` chas williams
2003-06-07  0:56                       ` Werner Almesberger
2003-06-07  6:59                       ` David S. Miller
2003-06-07 18:18                         ` Ryan Anderson
2003-06-07 11:19                       ` James Stevenson
2003-06-07 11:19                         ` chas williams
2003-06-07 15:36                           ` James Stevenson
2003-06-07 16:03                         ` Mr. James W. Laferriere
2003-06-07  6:53                     ` David S. Miller
2003-06-08  3:31                       ` Werner Almesberger
2003-06-06 23:55             ` chas williams
2003-06-07  0:10               ` Werner Almesberger
2003-06-07  0:56                 ` chas williams
2003-06-07  1:11                   ` Werner Almesberger
2003-06-07  3:48                     ` chas williams
2003-06-09 13:37                       ` Duncan Sands
2003-06-09 13:38                         ` David S. Miller
2003-06-09 13:58                           ` chas williams
2003-06-09 14:00                             ` David S. Miller
2003-06-09 14:54                               ` chas williams
2003-06-09 14:57                                 ` David S. Miller
2003-06-07  7:02                     ` David S. Miller
2003-06-08  4:05                       ` Werner Almesberger
2003-06-07 11:06                 ` chas williams
2003-06-06 15:05       ` chas williams
2003-06-06 15:08         ` David S. Miller
2003-06-06 17:03         ` Werner Almesberger
2003-06-06 11:25     ` David Anderson

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=20030606.040410.54190551.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=chas@cmf.nrl.navy.mil \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox