All of lore.kernel.org
 help / color / mirror / Atom feed
From: Werner Almesberger <wa@almesberger.net>
To: "David S. Miller" <davem@redhat.com>
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, 6 Jun 2003 12:13:39 -0300	[thread overview]
Message-ID: <20030606121339.A3232@almesberger.net> (raw)
In-Reply-To: <20030606.070747.48395512.davem@redhat.com>; from davem@redhat.com on Fri, Jun 06, 2003 at 07:07:47AM -0700

David S. Miller wrote:
> If we move over to a more netdevice-based design for ATM,
> this will not longer be acceptable.

Why, what's wrong with that ? It's simple, efficient, and it works.

> 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.

Well, that's similar in a synchronous design. Only that you make
sure that the removal is only attempted from a context that can
sleep. (That's one of the things the demons do. And no, I don't
think you want them in the kernel :-)

> 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.

Hmm, last time I tried to ignore circular dependencies in
ansynchronous designs, they failed just as badly as in
synchronous designs :-)

There are certainly places where a synchronous design doesn't
make sense. But in the case of ATM device and VCC handling, you
already have all the synchronous code paths (because things are
initiated by user space), they're not very timing-critical, and
reuse before destruction has completed is unlikely.

- Werner

-- 
  _________________________________________________________________________
 / Werner Almesberger, Buenos Aires, Argentina         wa@almesberger.net /
/_http://www.almesberger.net/____________________________________________/

  reply	other threads:[~2003-06-06 15:01 UTC|newest]

Thread overview: 74+ 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
2003-06-06 15:13           ` Werner Almesberger [this message]
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-17 17:52                       ` chas williams
2003-06-17 17:53                         ` David S. Miller
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=20030606121339.A3232@almesberger.net \
    --to=wa@almesberger.net \
    --cc=chas@cmf.nrl.navy.mil \
    --cc=davem@redhat.com \
    --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 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.