linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <andrewm@uow.edu.au>
To: kuznet@ms2.inr.ac.ru
Cc: jgarzik@mandrakesoft.com, davem@redhat.COM, linux-kernel@vger.kernel.org
Subject: Re: NETDEV_CHANGE events when __LINK_STATE_NOCARRIER is modified
Date: Tue, 15 May 2001 21:00:52 +1000	[thread overview]
Message-ID: <3B010C64.556758D8@uow.edu.au> (raw)
In-Reply-To: <3B006F84.C1427EB3@uow.edu.au> from "Andrew Morton" at May 15, 1 09:51:32 am <200105150902.NAA29079@ms2.inr.ac.ru>

kuznet@ms2.inr.ac.ru wrote:
> 
> Hello!
> 
> > It protects the as-yet-unchanged PCI and Cardbus drivers from a
> > fatal race.
> 
> Fatal race remained.

Don't think so.  We have exclusion against all netdevice ioctls
across probe.  Still.  It doesn't matter.

> Andrew, you start again the story about white bull. 8)
> We have already discussed this. Device cannot stay in device list
> uninitialzied. Period.
> 
> I am sorry, but no compromise is possible. With Jeff's approach all
> the references to init_etherdev and dev_probe_lock must be eliminated
> in 2.4.

Once init_etherdev() has gone, yes, dev_probe_lock() can go.

> > and sys_ioctl() both do lock_kernel().  If xxx_probe() drops the BKL,
> 
> Again, BKL has nothing to do with this (and ioctl does not hold it)

asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg)
{       
        struct file * filp;
        unsigned int flag;
        int on, error = -EBADF;

        filp = fget(fd);
        if (!filp)
                goto out;
        error = 0;
        lock_kernel();

The CPU running ifconfig spins here.

> It looks like you forgot all the discussion around your own patch. 8)
> 
> If you want I can retransmit the mails which resulted in your patch?

It doesn't matter...  I think we agree that init_etherdev() must
die, and dev_probe_lock() with it, and that Jeff's alloc_etherdev()
is an appropriate way of doing it?

Actually, yes.  Please tell me what problem you think we
still have in current kernels, which dev_probe_lock()
does not prevent?

-

  reply	other threads:[~2001-05-15 11:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <15091.23655.488243.650394@pizda.ninka.net>
2001-05-13 18:19 ` NETDEV_CHANGE events when __LINK_STATE_NOCARRIER is modified kuznet
2001-05-14  1:43   ` Andrew Morton
2001-05-14 17:47     ` kuznet
2001-05-14 18:12       ` Jeff Garzik
2001-05-14 18:40         ` kuznet
2001-05-14 19:27           ` Jeff Garzik
2001-05-14 19:42             ` kuznet
2001-05-14 20:34               ` Jeff Garzik
2001-05-14 23:51           ` Andrew Morton
2001-05-15  9:02             ` kuznet
2001-05-15 11:00               ` Andrew Morton [this message]
2001-05-15 11:15               ` David S. Miller

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=3B010C64.556758D8@uow.edu.au \
    --to=andrewm@uow.edu.au \
    --cc=davem@redhat.COM \
    --cc=jgarzik@mandrakesoft.com \
    --cc=kuznet@ms2.inr.ac.ru \
    --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;
as well as URLs for NNTP newsgroup(s).