public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Arjan van de Ven <arjan@infradead.org>
Cc: Greg KH <gregkh@suse.de>, Fabio Comolli <fabio.comolli@gmail.com>,
	Kay Sievers <kay.sievers@vrfy.org>, Greg KH <greg@kroah.com>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [patch 00/13] devtmpfs patches
Date: Sun, 10 May 2009 07:56:32 -0700	[thread overview]
Message-ID: <m1skjdt3a7.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <m1bpq1wg8p.fsf@fess.ebiederm.org> (Eric W. Biederman's message of "Sun\, 10 May 2009 00\:48\:22 -0700")

ebiederm@xmission.com (Eric W. Biederman) writes:

> Arjan van de Ven <arjan@infradead.org> writes:
>
>> On Sat, 9 May 2009 09:19:23 -0700
>> Greg KH <gregkh@suse.de> wrote:
>>
>>
>> btw... I would be a LOT happier about the solution from a technical
>> point of view if it wasn't the kernel making the device node, but the
>> kernel exposing a file with a list of all devices, so that userland can
>> chose to mknod or not, with which permissions if non-default and with
>> non-default owners.
>> So basically (and I'm making up a filename here, don't read too much
>> into that)
>>
>> cat /proc/alldevices
>>
>> c   1     4         foobar
>> b   8     0         sda
>> c   122   12        dri/card0
>>
>> etc
>> making the actual nodes from this in the most simple case is basically
>> no time in userspace, but a slightly more advanced early userspace app
>> can even do permissions for the few device nodes where it matters etc.
>>
>> I can imagine that being a good solution that ends up solving your
>> problem, but in a way that is more consistent with what the kernel does
>> right now and how we can then have userland make decisions on where to
>> make the nodes, with what perms etc etc.
>> In fact such a file would be a greeat help in general, and would be a
>> nice generic solution.
>
> I just did a tiny 100 line test app.
>
> It took me all of 0.06s to mount /sys and /dev and to walk sysfs and
> create all 649 of the device nodes. 

Ok.  I just asked the question how much is mknod and how much is
traversing /sys.

If the I hard code the devices to make in my test app the time is,
0.01s, even on my old 700Mhz amd k7.  So the time to traverse sys to
find the device numbers is a big part of the cost.

At the same time.  Things can potentially be sped up quite a bit by
walking /sys/dev/block and /sys/dev/char and just calling readlink.

A cheaper way of reading the devices out of sysfs might be in order,
to ensure the bottleneck is mknod speed.  But I just don't see this
gating boot speed.

Eric

  reply	other threads:[~2009-05-10 14:56 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20090509142601.874865281@blue.kroah.org>
2009-05-09 14:37 ` [patch 00/13] devtmpfs patches Greg KH
2009-05-09 14:26   ` [patch 01/13] Driver Core: add nodename callbacks Greg KH
2009-05-10 12:52     ` Stephen Rothwell
2009-05-10 13:19       ` Kay Sievers
2009-05-11 20:51         ` Greg KH
2009-05-09 14:26   ` [patch 02/13] Driver Core: misc: add nodename support for misc devices Greg KH
2009-05-15 19:58     ` Pavel Machek
2009-05-18 14:34       ` Greg KH
2009-05-18 19:59         ` Pavel Machek
2009-05-18 20:28       ` Alan Cox
2009-05-09 14:26   ` [patch 03/13] Driver Core: usb: add nodename support for usb drivers Greg KH
2009-05-09 14:26   ` [patch 04/13] Driver Core: block: add nodename support for block drivers Greg KH
2009-05-09 14:26   ` [patch 05/13] Driver Core: x86: add nodename for cpuid and msr drivers Greg KH
2009-05-09 14:26   ` [patch 06/13] Driver Core: dvb: add nodename for dvb drivers Greg KH
2009-05-09 14:26   ` [patch 07/13] Driver Core: input: add nodename for input drivers Greg KH
2009-05-09 14:26   ` [patch 08/13] Driver Core: sound: add nodename for sound drivers Greg KH
2009-05-09 14:26   ` [patch 09/13] Driver Core: raw: add nodename for raw devices Greg KH
2009-05-09 14:26   ` [patch 10/13] Driver Core: drm: add nodename for drm devices Greg KH
2009-05-09 14:26   ` [patch 11/13] Driver Core: aoe: add nodename for aoe devices Greg KH
2009-05-09 14:26   ` [patch 12/13] Driver Core: bsg: add nodename for bsg driver Greg KH
2009-05-09 14:26   ` [patch 13/13] Driver Core: devtmpfs - driver core maintained /dev tmpfs Greg KH
2009-05-09 15:10   ` [patch 00/13] devtmpfs patches Fabio Comolli
2009-05-09 15:08     ` Greg KH
2009-05-09 15:22       ` Arjan van de Ven
2009-05-09 16:19         ` Greg KH
2009-05-09 19:09           ` Arjan van de Ven
2009-05-10  4:34           ` Arjan van de Ven
2009-05-10  7:48             ` Eric W. Biederman
2009-05-10 14:56               ` Eric W. Biederman [this message]
2009-05-10  5:34           ` Andrew Morton
2009-05-10 15:20             ` Greg KH
2009-05-10 15:59               ` Arjan van de Ven
2009-05-10 18:31               ` Peter Zijlstra
2009-05-10 21:19                 ` Alan Cox
2009-05-10 23:47                   ` Kay Sievers
2009-05-11  0:00                     ` Arjan van de Ven
     [not found]                       ` <ac3eb2510905101822t7fde14b3nf2c689621f69c925@mail.gmail.com>
2009-05-11  2:36                         ` Eric W. Biederman
2009-05-11 10:46                           ` Kay Sievers
2009-05-11 10:55                             ` Alan Cox
2009-05-11 11:34                               ` Kay Sievers
2009-05-11 13:05                                 ` [patch 00/13] devtmpfs Arjan van de Ven
2009-05-11 13:28                                   ` Kay Sievers
2009-05-11 13:49                                     ` Arjan van de Ven
2009-05-11 14:59                                       ` Kay Sievers
2009-05-11 13:10                                 ` [patch 00/13] devtmpfs patches Alan Cox
2009-05-11 14:14                                   ` Kay Sievers
2009-05-11 14:30                                     ` Arjan van de Ven
2009-05-11 14:42                                       ` Kay Sievers
2009-05-11 15:53                                     ` Alan Cox
2009-05-11 16:28                                       ` Kay Sievers
2009-05-11 16:41                                         ` Arjan van de Ven
2009-05-11 17:32                                           ` Kay Sievers
2009-05-11 17:55                                             ` Alan Cox
2009-05-11 18:04                                               ` Kay Sievers
2009-05-11 18:40                                                 ` Alan Cox
2009-05-11 16:56                                         ` Alan Cox
2009-05-11 18:13                             ` Eric W. Biederman
2009-05-11  3:55                         ` Arjan van de Ven
2009-05-11 11:49                         ` Fabio Comolli
2009-05-11 17:47                           ` Greg KH
2009-05-11 16:40                         ` Eric W. Biederman
2009-05-11 17:16                           ` Kay Sievers
2009-05-11 21:13                             ` Eric W. Biederman
2009-05-11  1:00                     ` Andrew Morton
2009-05-11  3:58                       ` Arjan van de Ven
2009-05-11 17:45                       ` Greg KH
2009-05-09 16:46         ` Kay Sievers
2009-05-09 17:11           ` Alan Cox
2009-05-09 18:09             ` Kay Sievers
2009-05-11 17:40   ` David P. Quigley
2009-05-11 17:56     ` Greg KH
2009-05-11 20:41       ` David P. Quigley
2009-05-11 21:05         ` Kay Sievers
2009-05-11 21:19           ` Alan Cox
2009-05-11 21:27             ` Kay Sievers
2009-05-12 12:45           ` Stephen Smalley
2009-05-12 15:10             ` Kay Sievers
2009-05-12 15:35               ` Stephen Smalley
2009-05-12 15:54                 ` Kay Sievers
2009-05-12 22:55                   ` Kay Sievers
2009-05-12 23:22                     ` David P. Quigley
2009-05-12 23:34                       ` Kay Sievers
2009-05-12 23:50                         ` Greg KH
2009-05-13 12:22                     ` Stephen Smalley
2009-05-13 12:58                       ` Kay Sievers
2009-05-13 12:57                         ` Stephen Smalley
2009-05-13 13:09                           ` Kay Sievers
2009-05-13 12:59                       ` Alan Cox
2009-05-13 13:20                     ` David Howells
2009-05-13 13:34                       ` Kay Sievers
2009-05-13 14:20                         ` Kay Sievers
2009-05-13 14:35                           ` Stephen Smalley
2009-05-13 16:45                             ` Kay Sievers
2009-05-13 22:43                               ` Eric W. Biederman
2009-05-13 23:10                                 ` Greg KH

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=m1skjdt3a7.fsf@fess.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=fabio.comolli@gmail.com \
    --cc=greg@kroah.com \
    --cc=gregkh@suse.de \
    --cc=kay.sievers@vrfy.org \
    --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