On Mon, 21 Aug 2017 at 09:22:22 +0100
Simon Hobson <li...@thehobsons.co.uk> wrote:

[...]

> I suppose that one REALLY good way to fix the problem (at least in the
> server & desktop areas) is actually to undo a lot of "progress" and make
> all driver and service initiation strictly linear. Ie, do away with all
> this parallelism and make all drivers be loaded strictly in sequence, one
> after the other, in a defined order. I strongly suspect that it wouldn't
> hugely impact boot times either. Put another way, part of the "problem"
> being "solved" is actually a side effect of "improvements" made elsewhere.

  I see some potential problems with serialization as a panacea for
interface naming.

1) How is a driver supposed to know what "queue number" it has at boot time?
   "The kernel assigns it, maybe dinamically", all right,  how could the
   sysadmin then set his own ethernet-card-driver load order? (Suppose a
   network booted system must configure it's eth0 via DHCP and then load the
   NFS root filesystem out of eth1?)
2) You've got to set timeouts on ethernet drivers loading and initialization
   to avoid network card B sitting indefinitely because network card A got
   stuck; this could increase boot time considerably, expecially if
   networking is required to boot the OS.  And what eth number is B going to
   get if A got stuck?  The same as if A did not get stuck?  Or maybe it's
   going to get A's?
3) If a network card driver fails to load, how are the other ethernet
   interfaces names affected?  Are the following ones named just like it
   loaded fine or does the naming procedure skip the failed interface?
4) What about a hardware card swap, substitution or removal, how can one know
   what effect this will have on the module load sequence and interface
   naming?
5) Network initialization and configuration can in some cases take a long
   time (DHCP, RPC/NFS, Kerberos/NIS/LDAP/SMB and iSCSI are not
   lightning-fast and might be required by other start-up steps, WiFi makes
   things a lot worse of course), so serialization of multiple networking
   interfaces can have a huge impact on start-up time indeed, depending on
   the specific setup.

  In short, networking device naming does not have to depend on load time and
sequence, and it should not.  It must be predictable and configurable, but it
ought to be independend from driver load time and order.  The card's MAC
address should be all that matters and dynamical interface naming should
apply only to unknown hardware that just popped up now or on this boot (and
of course it should assign only names that are not already reserved to
configured network cards, that they are present or not).


Alessandro

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to