linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David S. Miller" <davem@redhat.com>
To: wa@almesberger.net
Cc: chas@cmf.nrl.navy.mil, linux-kernel@vger.kernel.org
Subject: Re: [PATCH][ATM] use rtnl_{lock,unlock} during device operations (take 2)
Date: Fri, 06 Jun 2003 07:07:47 -0700 (PDT)	[thread overview]
Message-ID: <20030606.070747.48395512.davem@redhat.com> (raw)
In-Reply-To: <20030606105753.A3275@almesberger.net>

   From: Werner Almesberger <wa@almesberger.net>
   Date: Fri, 6 Jun 2003 10:57:53 -0300
   
   What should help in the ATM code is that it pushes synchronization
   "down", i.e. "close" functions usually can't return until they are
   truly done (or at least have made sure there is nothing externally
   visible left).
   
If we move over to a more netdevice-based design for ATM,
this will not longer be acceptable.

Unregister of netdevices is %100 asynchronous, even if references
remain (and even if the device is UP!), we close then rip the device
out of the kernel.  As references go away we finally get to zero
and thus can finally kfree() up the netdevice.

This has some problems currently which Al and myself are fixing.  In
the final analysis we'll even handle things like stray SYSFS and
PROCFS references by marking the device "dead" at unregister time
and any post-unregister reference will see this and error out.

This is a much better model than synchronizing everything, you tie
your hands when you do it that way and it tends to lead to module
unload deadlocks.

  reply	other threads:[~2003-06-06 13:56 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
2003-06-06 13:57       ` Werner Almesberger
2003-06-06 14:07         ` David S. Miller [this message]
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.070747.48395512.davem@redhat.com \
    --to=davem@redhat.com \
    --cc=chas@cmf.nrl.navy.mil \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wa@almesberger.net \
    /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).