* ANNOUNCE: User-space System Device Enumation (uSDE)
@ 2003-10-27 20:41 Mark Bellon
2003-10-27 21:00 ` Lars Marowsky-Bree
0 siblings, 1 reply; 14+ messages in thread
From: Mark Bellon @ 2003-10-27 20:41 UTC (permalink / raw)
To: linux-raid
Initial availability of User-Space System Device Enumeration (uSDE)
package, version 0.74, can be found at http://sourceforge.net/projects/usde
The uSDE provides an open framework for the enumeration (specification)
of system devices in a dynamic environment. Device handling is
implemented via plug-in programs known as policy methods. Policy methods
are free to handle their devices in any way, from trivial to complex -
anything from providing LSB device nodes to persistent device name
handling with
replacement and relocation strategies.
The uSDE depends on /sbin/hotplug (for dynamic insertions and removals),
sysfs (for device information) and /proc (various pieces of
information). It is not dependent on initrd - it explicitly scans sysfs
upon system startup to determine the initial device ensemble.
Part of the uSDE release is a collection of sample polices:
disk-ide-policy - handles IDE, EIDE, SATA and USB-EIDE disks. Implements
persistent device naming, automatic device replacement and automatic
device relocation features.
disk-scsi-policy - handles SCSI, IEEE-1394, FibreChannel and USB-SCSI
disks including multiported devices. Iplements persistent device naming,
automatic device replacement and automatic device relocation features.
multipath-policy - handles the automatic provisioning of multipathing
for multiported storage devices.
ethernet-policy - handles ethernet interefaces. Implements persistent
interface naming, interface anchoring, automatic device replacement and
automatic device relocation features.
floppy-policy - handles internal floppy disks.
simple-device-policy - a "catch all" policy for block and character devices.
devfs-policy - provides devfs device names.
lsb-policy - provides LSB device names.
Location: http://sourceforge.net/projects/usde
Mailing list: usde-general@lists.sourceforge.net
mark
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-27 20:41 ANNOUNCE: User-space System Device Enumation (uSDE) Mark Bellon
@ 2003-10-27 21:00 ` Lars Marowsky-Bree
2003-10-27 21:14 ` Mark Bellon
2003-10-27 23:15 ` Steven Dake
0 siblings, 2 replies; 14+ messages in thread
From: Lars Marowsky-Bree @ 2003-10-27 21:00 UTC (permalink / raw)
To: Mark Bellon, linux-raid
On 2003-10-27T13:41:20,
Mark Bellon <mbellon@mvista.com> said:
> Initial availability of User-Space System Device Enumeration (uSDE)
> package, version 0.74, can be found at http://sourceforge.net/projects/usde
How does it relate to udev?
> multipath-policy - handles the automatic provisioning of multipathing
> for multiported storage devices.
How does this integrate with DM, md, EVMS, LVM...?
Thanks,
Lars Marowsky-Brée <lmb@suse.de>
--
High Availability & Clustering \ ever tried. ever failed. no matter.
SUSE Labs | try again. fail again. fail better.
Research & Development, SUSE LINUX AG \ -- Samuel Beckett
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-27 21:00 ` Lars Marowsky-Bree
@ 2003-10-27 21:14 ` Mark Bellon
2003-10-28 11:00 ` Lars Marowsky-Bree
2003-10-27 23:15 ` Steven Dake
1 sibling, 1 reply; 14+ messages in thread
From: Mark Bellon @ 2003-10-27 21:14 UTC (permalink / raw)
To: Lars Marowsky-Bree; +Cc: linux-raid
>
>
>How does it relate to udev?
>
The uSDE and udev are simlar in some respects. The uSDE allows for
complete control of the policy handling a device - not just its naming.
It can perform complex policies on behalf of its devices including
multiple concurrent policies for each device. It is also very aggressive
about handing the system start up issues when many devices must be dealt
with.
>How does this integrate with DM, md, EVMS, LVM...?
>
As devices appear in sysfs the uSDE reacts to them via their hotplug
events. The policy for each device handles any device issues including
dealing with any device nodes. It is possible to track and maintain
multiported devices and automatically provide multipath devices nodes
for instance.
mark
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-27 21:00 ` Lars Marowsky-Bree
2003-10-27 21:14 ` Mark Bellon
@ 2003-10-27 23:15 ` Steven Dake
2003-10-27 23:19 ` Mark Bellon
1 sibling, 1 reply; 14+ messages in thread
From: Steven Dake @ 2003-10-27 23:15 UTC (permalink / raw)
To: Lars Marowsky-Bree; +Cc: Mark Bellon, linux-raid
On Mon, 2003-10-27 at 14:00, Lars Marowsky-Bree wrote:
> On 2003-10-27T13:41:20,
> Mark Bellon <mbellon@mvista.com> said:
>
> > Initial availability of User-Space System Device Enumeration (uSDE)
> > package, version 0.74, can be found at http://sourceforge.net/projects/usde
>
> How does it relate to udev?
>
> > multipath-policy - handles the automatic provisioning of multipathing
> > for multiported storage devices.
>
> How does this integrate with DM, md, EVMS, LVM...?
>
Device mapper and the md layer generates hotplug events which are
managed by the framework. There is no specific policy for these
subsystems, but they could be implemented... With today's code, they
fall through and are exported as disks. One good policy method that
could be implemented is to scan the lvm lv list and map the major/minor
to the real lv, and use that to name the device (instead of lvm naming
the device). This hasn't been done but if your up for it, Mark can
probably help you.
One of the cool features that integrates with MD is that multiple paths
are automatically configured via the MD driver (similiar to the
automatic multipathing program I have written and posted to this list).
Basically that program was turned into a policy for the uSDE.
The code your looking for if you want to see how the multipath policy
works is in:
sde/programs/policy-methods/mass-storage/multipath
Thanks!
-steve
> Thanks,
> Lars Marowsky-Brée <lmb@suse.de>
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-27 23:15 ` Steven Dake
@ 2003-10-27 23:19 ` Mark Bellon
0 siblings, 0 replies; 14+ messages in thread
From: Mark Bellon @ 2003-10-27 23:19 UTC (permalink / raw)
To: sdake; +Cc: Lars Marowsky-Bree, linux-raid
>
>
>Device mapper and the md layer generates hotplug events which are
>managed by the framework. There is no specific policy for these
>subsystems, but they could be implemented... With today's code, they
>fall through and are exported as disks. One good policy method that
>could be implemented is to scan the lvm lv list and map the major/minor
>to the real lv, and use that to name the device (instead of lvm naming
>the device). This hasn't been done but if your up for it, Mark can
>probably help you.
>
Cool idea! I would be most open to having someone contribute this or, if
they could help work out a set of simple requirements I could womp up an
initial policy for this in a short time.
mark
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-27 21:14 ` Mark Bellon
@ 2003-10-28 11:00 ` Lars Marowsky-Bree
2003-10-28 18:12 ` Steven Dake
0 siblings, 1 reply; 14+ messages in thread
From: Lars Marowsky-Bree @ 2003-10-28 11:00 UTC (permalink / raw)
To: Mark Bellon; +Cc: linux-raid, linux-kernel
On 2003-10-27T14:14:18,
Mark Bellon <mbellon@mvista.com> said:
> The uSDE and udev are simlar in some respects. The uSDE allows for
> complete control of the policy handling a device - not just its naming.
Well, so could udev in theory, and I had this plan to enhance it to do
so for the specific case of multipathing one day in the not too distant
future (ie, before q1/04).
In as far as I can see, udev and uSDE really do not have too different
goals. Competition is good, but only if they explore distinct approaches
;-)
> >How does this integrate with DM, md, EVMS, LVM...?
> As devices appear in sysfs the uSDE reacts to them via their hotplug
> events. The policy for each device handles any device issues including
> dealing with any device nodes. It is possible to track and maintain
> multiported devices and automatically provide multipath devices nodes
> for instance.
Yes, I know that, I was asking whether you had done any discussion with
the EVMS2 folks for example to have a policy plugin to interact with
EVMS2 accordingly and do the magic.
Sincerely,
Lars Marowsky-Brée <lmb@suse.de>
--
High Availability & Clustering \ ever tried. ever failed. no matter.
SUSE Labs | try again. fail again. fail better.
Research & Development, SUSE LINUX AG \ -- Samuel Beckett
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-28 11:00 ` Lars Marowsky-Bree
@ 2003-10-28 18:12 ` Steven Dake
2003-10-28 22:44 ` Greg KH
0 siblings, 1 reply; 14+ messages in thread
From: Steven Dake @ 2003-10-28 18:12 UTC (permalink / raw)
To: Lars Marowsky-Bree; +Cc: Mark Bellon, linux-raid, linux-kernel
On Tue, 2003-10-28 at 04:00, Lars Marowsky-Bree wrote:
> On 2003-10-27T14:14:18,
> Mark Bellon <mbellon@mvista.com> said:
>
> > The uSDE and udev are simlar in some respects. The uSDE allows for
> > complete control of the policy handling a device - not just its naming.
>
> Well, so could udev in theory, and I had this plan to enhance it to do
> so for the specific case of multipathing one day in the not too distant
> future (ie, before q1/04).
>
> In as far as I can see, udev and uSDE really do not have too different
> goals. Competition is good, but only if they explore distinct approaches
> ;-)
>
There are several distinct approaches which have been enumerated in
other mails.
Since this point has not been addressed, I'd like to focus on the major
difference in philosophy.
SDE places all policy in the hands of the policy developer in a seperate
policy program. udev places the policies in the main processing loop of
the system, effectively implementing whatever policy is desired by the
udev maintainers.
Without seperating policies from the core executive of device naming
system, the core of udev suffers from the same issues as placing policy
in the kernel suffers. Lack of maintainability, lack of user-defined
functionality, bloat, etc.
> > >How does this integrate with DM, md, EVMS, LVM...?
> > As devices appear in sysfs the uSDE reacts to them via their hotplug
> > events. The policy for each device handles any device issues including
> > dealing with any device nodes. It is possible to track and maintain
> > multiported devices and automatically provide multipath devices nodes
> > for instance.
>
> Yes, I know that, I was asking whether you had done any discussion with
> the EVMS2 folks for example to have a policy plugin to interact with
> EVMS2 accordingly and do the magic.
>
>
No but this is definately a good idea.
Thanks!
-steve
>
> Sincerely,
> Lars Marowsky-Brée <lmb@suse.de>
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-28 18:12 ` Steven Dake
@ 2003-10-28 22:44 ` Greg KH
0 siblings, 0 replies; 14+ messages in thread
From: Greg KH @ 2003-10-28 22:44 UTC (permalink / raw)
To: Steven Dake
Cc: Lars Marowsky-Bree, Mark Bellon, linux-raid, linux-kernel,
linux-hotplug-devel
On Tue, Oct 28, 2003 at 11:12:07AM -0700, Steven Dake wrote:
> On Tue, 2003-10-28 at 04:00, Lars Marowsky-Bree wrote:
> > On 2003-10-27T14:14:18,
> > Mark Bellon <mbellon@mvista.com> said:
> >
> > > The uSDE and udev are simlar in some respects. The uSDE allows for
> > > complete control of the policy handling a device - not just its naming.
> >
> > Well, so could udev in theory, and I had this plan to enhance it to do
> > so for the specific case of multipathing one day in the not too distant
> > future (ie, before q1/04).
> >
> > In as far as I can see, udev and uSDE really do not have too different
> > goals. Competition is good, but only if they explore distinct approaches
> > ;-)
> >
> There are several distinct approaches which have been enumerated in
> other mails.
>
> Since this point has not been addressed, I'd like to focus on the major
> difference in philosophy.
>
> SDE places all policy in the hands of the policy developer in a seperate
> policy program. udev places the policies in the main processing loop of
> the system, effectively implementing whatever policy is desired by the
> udev maintainers.
What do you mean by "policy"?
If you are saying that SDE allows programmers the ability to write new
programs to plug into your framework to create new types of policies,
then I understand that. Your loadable plugins look like they support
that. But they require a dynamic loader :)
What udev is doing is trying to provide a flexible policy that will work
for everyone, with a heirchy of rules that can be easily controlled and
changed by anyone who can operate a text editor (and soon to be changed
by GUI applications, like the HAL project).
I have not heard of any situation in which the current udev set of rules
do not work out for them. And if you can think of one, can't it be
covered by the CALLOUT rule? For example, someone has sent me a small
userspace program that works with the CALLOUT rule that handles
multipath devices by talking to the dm code. Now that's pretty
flexible.
If you (or anyone else) thinks of something that the existing udev rules
do not handle, please let me know. If it's too complex, then yes, the
user should use write their own SDE plugin. But remember, 99.9% of the
people out there just want the LSB device names, with possibly a
persistent entry for their digital camera and USB joystick, which udev
handles just fine today.
For people with 4000 real scsi disks, udev also works well. That seems
to cover the wide range of users.
> Without seperating policies from the core executive of device naming
> system, the core of udev suffers from the same issues as placing policy
> in the kernel suffers. Lack of maintainability, lack of user-defined
> functionality, bloat, etc.
Easy Separation? Hm, in looking at udev, if you just replace 2 .c files
with your new naming scheme, everything works just fine.
And if you want to go down the path of accusations about lack of
maintainability, bloat, etc. I will be glad to point people at your tree
and then they can see these kinds of numbers:
For SDE:
$ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
57328 total
Wow, you build 18 shared libraries:
$ find . -type f | grep '\.so' | wc
18 18 625
For udev:
$ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
17632 total
And that includes all of klibc, which really is not fair for udev to
calculate. So let's just look at the udev code size:
$ ls | egrep '[.c|.h]$' | xargs wc -l | tail -1
2613 total
And to be complete, let's add the totals of libsysfs and tdb, but to be
fair any udev developer never has to look into those files:
libsysfs is this big:
3798 total
And tdb is this big:
2679 total
So adding those numbers up we get these kinds of numbers for size of the
.c and .h files in the different projects:
SDE: 57328 lines
udev: 9090 lines
That makes SDE over 6 times bigger in source code alone than all of
udev (including tdb and libsysfs).
I can compare executable size too, if you really want to still claim
that udev is suffering from "lack of maintainability and bloat" if you
really want :)
Oh, any reason you all haven't shown a working uSDE system in public
anywhere?
thanks,
greg k-h
p.s. yes, I know lines of code is a horrible metric, and doesn't really
mean squat. I just want to point out the huge size difference between
the current state of udev and SDE, with pretty much identical
functionality from what I can tell.
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: ANNOUNCE: User-space System Device Enumation (uSDE)
@ 2003-10-29 5:12 Guo, Min
2003-10-29 16:10 ` Steven Dake
2003-10-29 19:04 ` Greg KH
0 siblings, 2 replies; 14+ messages in thread
From: Guo, Min @ 2003-10-29 5:12 UTC (permalink / raw)
To: Greg KH, Steven Dake
Cc: linux-raid, linux-hotplug-devel, Lars Marowsky-Bree,
Ling, Xiaofeng, Mark Bellon, linux-kernel, cgl_discussion
Here I try to summary out some difference for uSDE and uDEV,any comments are welcome!
In my opinion, competition is good and user can choose one they like because both of them
are user-space applications with a little minor kernel changes,is that right?
1.For the IDE/SCSI/PCI hotplug devices.
uDEV:
edit namedev.config manually to specify certain map,
if slot change or device change, user can re-edit namedev.config
uSDE
record the id or slot at the first time, when move device to new slot or change to a new same type device,
automatically persist the name.
user can also specify map manually.
2.For non-hotplug device
uDEV:
not deal with it
uSDE
scan at boot time and also perform policy method. so when moved or replaced devcie when the machine is
down, the name can also be persisted.
3. for multipath device.
uDEV
not support it.
uSDE
automatically detect mulitpath device and create md device. support hot add a new path and remove a path.
4. ethernet
uDEV
not deal with it
nameif
name interface based on MAC,
uSDE
can set map based on MAC, SLOT.
support both setting manually map and automatic processing
support hotplug, eg. when exchange two device, the name can also be exchanged automatically.
.
5.devfs simulation
uDEV
No such function
uSDE
provide devfs simulation method.
From the above comparsion, we can see uSDE really have some advantages.As far maintaince,
I think that more codes don't mean lacking maintainability.
Thanks
Guo Min
> -----Original Message-----
> From: linux-hotplug-devel-admin@lists.sourceforge.net
> [mailto:linux-hotplug-devel-admin@lists.sourceforge.net]On
> Behalf Of Greg KH
> Sent: Wednesday, October 29, 2003 6:44 AM
> To: Steven Dake
> Cc: Lars Marowsky-Bree; Mark Bellon;
> linux-raid@vger.kernel.org; linux-kernel@vger.kernel.org;
> linux-hotplug-devel@lists.sourceforge.net
> Subject: Re: ANNOUNCE: User-space System Device Enumation (uSDE)
>
>
> On Tue, Oct 28, 2003 at 11:12:07AM -0700, Steven Dake wrote:
> > On Tue, 2003-10-28 at 04:00, Lars Marowsky-Bree wrote:
> > > On 2003-10-27T14:14:18,
> > > Mark Bellon <mbellon@mvista.com> said:
> > >
> > > > The uSDE and udev are simlar in some respects. The uSDE
> allows for
> > > > complete control of the policy handling a device - not
> just its naming.
> > >
> > > Well, so could udev in theory, and I had this plan to
> enhance it to do
> > > so for the specific case of multipathing one day in the
> not too distant
> > > future (ie, before q1/04).
> > >
> > > In as far as I can see, udev and uSDE really do not have
> too different
> > > goals. Competition is good, but only if they explore
> distinct approaches
> > > ;-)
> > >
> > There are several distinct approaches which have been enumerated in
> > other mails.
> >
> > Since this point has not been addressed, I'd like to focus
> on the major
> > difference in philosophy.
> >
> > SDE places all policy in the hands of the policy developer
> in a seperate
> > policy program. udev places the policies in the main
> processing loop of
> > the system, effectively implementing whatever policy is
> desired by the
> > udev maintainers.
>
> What do you mean by "policy"?
>
> If you are saying that SDE allows programmers the ability to write new
> programs to plug into your framework to create new types of policies,
> then I understand that. Your loadable plugins look like they support
> that. But they require a dynamic loader :)
>
> What udev is doing is trying to provide a flexible policy
> that will work
> for everyone, with a heirchy of rules that can be easily
> controlled and
> changed by anyone who can operate a text editor (and soon to
> be changed
> by GUI applications, like the HAL project).
>
> I have not heard of any situation in which the current udev
> set of rules
> do not work out for them. And if you can think of one, can't it be
> covered by the CALLOUT rule? For example, someone has sent me a small
> userspace program that works with the CALLOUT rule that handles
> multipath devices by talking to the dm code. Now that's pretty
> flexible.
>
> If you (or anyone else) thinks of something that the existing
> udev rules
> do not handle, please let me know. If it's too complex, then yes, the
> user should use write their own SDE plugin. But remember,
> 99.9% of the
> people out there just want the LSB device names, with possibly a
> persistent entry for their digital camera and USB joystick, which udev
> handles just fine today.
>
> For people with 4000 real scsi disks, udev also works well.
> That seems
> to cover the wide range of users.
>
> > Without seperating policies from the core executive of device naming
> > system, the core of udev suffers from the same issues as
> placing policy
> > in the kernel suffers. Lack of maintainability, lack of
> user-defined
> > functionality, bloat, etc.
>
> Easy Separation? Hm, in looking at udev, if you just replace
> 2 .c files
> with your new naming scheme, everything works just fine.
>
> And if you want to go down the path of accusations about lack of
> maintainability, bloat, etc. I will be glad to point people
> at your tree
> and then they can see these kinds of numbers:
>
> For SDE:
> $ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
> 57328 total
>
> Wow, you build 18 shared libraries:
> $ find . -type f | grep '\.so' | wc
> 18 18 625
>
> For udev:
> $ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
> 17632 total
>
> And that includes all of klibc, which really is not fair for udev to
> calculate. So let's just look at the udev code size:
> $ ls | egrep '[.c|.h]$' | xargs wc -l | tail -1
> 2613 total
>
> And to be complete, let's add the totals of libsysfs and tdb,
> but to be
> fair any udev developer never has to look into those files:
>
> libsysfs is this big:
> 3798 total
>
> And tdb is this big:
> 2679 total
>
> So adding those numbers up we get these kinds of numbers for
> size of the
> .c and .h files in the different projects:
> SDE: 57328 lines
> udev: 9090 lines
>
> That makes SDE over 6 times bigger in source code alone than all of
> udev (including tdb and libsysfs).
>
> I can compare executable size too, if you really want to still claim
> that udev is suffering from "lack of maintainability and bloat" if you
> really want :)
>
> Oh, any reason you all haven't shown a working uSDE system in public
> anywhere?
>
> thanks,
>
> greg k-h
>
> p.s. yes, I know lines of code is a horrible metric, and
> doesn't really
> mean squat. I just want to point out the huge size difference between
> the current state of udev and SDE, with pretty much identical
> functionality from what I can tell.
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: SF.net Giveback Program.
> Does SourceForge.net help you be more productive? Does it
> help you create better code? SHARE THE LOVE, and help us help
> YOU! Click Here: http://sourceforge.net/donate/
> _______________________________________________
> Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
> Linux-hotplug-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-29 5:12 Guo, Min
@ 2003-10-29 16:10 ` Steven Dake
2003-10-29 19:04 ` Greg KH
1 sibling, 0 replies; 14+ messages in thread
From: Steven Dake @ 2003-10-29 16:10 UTC (permalink / raw)
To: Guo, Min
Cc: linux-raid, linux-hotplug-devel, Lars Marowsky-Bree,
Ling, Xiaofeng, Greg KH, Mark Bellon, linux-kernel,
cgl_discussion
On Tue, 2003-10-28 at 22:12, Guo, Min wrote:
> Here I try to summary out some difference for uSDE and uDEV,any comments are welcome!
> In my opinion, competition is good and user can choose one they like because both of them
> are user-space applications with a little minor kernel changes,is that right?
>
No kernel changes necessary for either usde or udev; I believe any bug
fixes have been merged into 2.6.0-test6 or later.
> 1.For the IDE/SCSI/PCI hotplug devices.
> uDEV:
> edit namedev.config manually to specify certain map,
> if slot change or device change, user can re-edit namedev.config
> uSDE
> record the id or slot at the first time, when move device to new slot or change to a new same type device,
> automatically persist the name.
> user can also specify map manually.
>
> 2.For non-hotplug device
> uDEV:
> not deal with it
> uSDE
> scan at boot time and also perform policy method. so when moved or replaced devcie when the machine is
> down, the name can also be persisted.
>
>
> 3. for multipath device.
> uDEV
> not support it.
> uSDE
> automatically detect mulitpath device and create md device. support hot add a new path and remove a path.
>
> 4. ethernet
> uDEV
> not deal with it
> nameif
> name interface based on MAC,
> uSDE
> can set map based on MAC, SLOT.
> support both setting manually map and automatic processing
> support hotplug, eg. when exchange two device, the name can also be exchanged automatically.
> .
> 5.devfs simulation
> uDEV
> No such function
> uSDE
> provide devfs simulation method.
>
> >From the above comparsion, we can see uSDE really have some advantages.As far maintaince,
> I think that more codes don't mean lacking maintainability.
>
> Thanks
> Guo Min
>
> > -----Original Message-----
> > From: linux-hotplug-devel-admin@lists.sourceforge.net
> > [mailto:linux-hotplug-devel-admin@lists.sourceforge.net]On
> > Behalf Of Greg KH
> > Sent: Wednesday, October 29, 2003 6:44 AM
> > To: Steven Dake
> > Cc: Lars Marowsky-Bree; Mark Bellon;
> > linux-raid@vger.kernel.org; linux-kernel@vger.kernel.org;
> > linux-hotplug-devel@lists.sourceforge.net
> > Subject: Re: ANNOUNCE: User-space System Device Enumation (uSDE)
> >
> >
> > On Tue, Oct 28, 2003 at 11:12:07AM -0700, Steven Dake wrote:
> > > On Tue, 2003-10-28 at 04:00, Lars Marowsky-Bree wrote:
> > > > On 2003-10-27T14:14:18,
> > > > Mark Bellon <mbellon@mvista.com> said:
> > > >
> > > > > The uSDE and udev are simlar in some respects. The uSDE
> > allows for
> > > > > complete control of the policy handling a device - not
> > just its naming.
> > > >
> > > > Well, so could udev in theory, and I had this plan to
> > enhance it to do
> > > > so for the specific case of multipathing one day in the
> > not too distant
> > > > future (ie, before q1/04).
> > > >
> > > > In as far as I can see, udev and uSDE really do not have
> > too different
> > > > goals. Competition is good, but only if they explore
> > distinct approaches
> > > > ;-)
> > > >
> > > There are several distinct approaches which have been enumerated in
> > > other mails.
> > >
> > > Since this point has not been addressed, I'd like to focus
> > on the major
> > > difference in philosophy.
> > >
> > > SDE places all policy in the hands of the policy developer
> > in a seperate
> > > policy program. udev places the policies in the main
> > processing loop of
> > > the system, effectively implementing whatever policy is
> > desired by the
> > > udev maintainers.
> >
> > What do you mean by "policy"?
> >
> > If you are saying that SDE allows programmers the ability to write new
> > programs to plug into your framework to create new types of policies,
> > then I understand that. Your loadable plugins look like they support
> > that. But they require a dynamic loader :)
> >
> > What udev is doing is trying to provide a flexible policy
> > that will work
> > for everyone, with a heirchy of rules that can be easily
> > controlled and
> > changed by anyone who can operate a text editor (and soon to
> > be changed
> > by GUI applications, like the HAL project).
> >
> > I have not heard of any situation in which the current udev
> > set of rules
> > do not work out for them. And if you can think of one, can't it be
> > covered by the CALLOUT rule? For example, someone has sent me a small
> > userspace program that works with the CALLOUT rule that handles
> > multipath devices by talking to the dm code. Now that's pretty
> > flexible.
> >
> > If you (or anyone else) thinks of something that the existing
> > udev rules
> > do not handle, please let me know. If it's too complex, then yes, the
> > user should use write their own SDE plugin. But remember,
> > 99.9% of the
> > people out there just want the LSB device names, with possibly a
> > persistent entry for their digital camera and USB joystick, which udev
> > handles just fine today.
> >
> > For people with 4000 real scsi disks, udev also works well.
> > That seems
> > to cover the wide range of users.
> >
> > > Without seperating policies from the core executive of device naming
> > > system, the core of udev suffers from the same issues as
> > placing policy
> > > in the kernel suffers. Lack of maintainability, lack of
> > user-defined
> > > functionality, bloat, etc.
> >
> > Easy Separation? Hm, in looking at udev, if you just replace
> > 2 .c files
> > with your new naming scheme, everything works just fine.
> >
> > And if you want to go down the path of accusations about lack of
> > maintainability, bloat, etc. I will be glad to point people
> > at your tree
> > and then they can see these kinds of numbers:
> >
> > For SDE:
> > $ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
> > 57328 total
> >
> > Wow, you build 18 shared libraries:
> > $ find . -type f | grep '\.so' | wc
> > 18 18 625
> >
> > For udev:
> > $ find . -type f | egrep '[.c|.h]$' | xargs wc -l | tail -1
> > 17632 total
> >
> > And that includes all of klibc, which really is not fair for udev to
> > calculate. So let's just look at the udev code size:
> > $ ls | egrep '[.c|.h]$' | xargs wc -l | tail -1
> > 2613 total
> >
> > And to be complete, let's add the totals of libsysfs and tdb,
> > but to be
> > fair any udev developer never has to look into those files:
> >
> > libsysfs is this big:
> > 3798 total
> >
> > And tdb is this big:
> > 2679 total
> >
> > So adding those numbers up we get these kinds of numbers for
> > size of the
> > .c and .h files in the different projects:
> > SDE: 57328 lines
> > udev: 9090 lines
> >
> > That makes SDE over 6 times bigger in source code alone than all of
> > udev (including tdb and libsysfs).
> >
> > I can compare executable size too, if you really want to still claim
> > that udev is suffering from "lack of maintainability and bloat" if you
> > really want :)
> >
> > Oh, any reason you all haven't shown a working uSDE system in public
> > anywhere?
> >
> > thanks,
> >
> > greg k-h
> >
> > p.s. yes, I know lines of code is a horrible metric, and
> > doesn't really
> > mean squat. I just want to point out the huge size difference between
> > the current state of udev and SDE, with pretty much identical
> > functionality from what I can tell.
> >
> >
> > -------------------------------------------------------
> > This SF.net email is sponsored by: SF.net Giveback Program.
> > Does SourceForge.net help you be more productive? Does it
> > help you create better code? SHARE THE LOVE, and help us help
> > YOU! Click Here: http://sourceforge.net/donate/
> > _______________________________________________
> > Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
> > Linux-hotplug-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
> >
>
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-29 5:12 Guo, Min
2003-10-29 16:10 ` Steven Dake
@ 2003-10-29 19:04 ` Greg KH
1 sibling, 0 replies; 14+ messages in thread
From: Greg KH @ 2003-10-29 19:04 UTC (permalink / raw)
To: Guo, Min
Cc: Steven Dake, Lars Marowsky-Bree, Mark Bellon, linux-raid,
linux-kernel, linux-hotplug-devel, cgl_discussion, Ling, Xiaofeng
On Wed, Oct 29, 2003 at 01:12:26PM +0800, Guo, Min wrote:
> Here I try to summary out some difference for uSDE and uDEV,any comments are welcome!
> In my opinion, competition is good and user can choose one they like because both of them
> are user-space applications with a little minor kernel changes,is that right?
>
> 1.For the IDE/SCSI/PCI hotplug devices.
> uDEV:
What's with the wierd intercaps of the udev name?
> edit namedev.config manually to specify certain map,
> if slot change or device change, user can re-edit namedev.config
Then use something that will not change if you move the device. Like a
serial number, or other unique identifier. It's not udev's fault that
you used a non-flexible rule :)
Oh, and the file is called udev.config.
> uSDE
> record the id or slot at the first time, when move device to new slot or change to a new same type device,
> automatically persist the name.
> user can also specify map manually.
>
> 2.For non-hotplug device
What do you mean by this? Memory devices?
> uDEV:
> not deal with it
See Robert Love's very simple script to populate stuff from sysfs. It
can run from initscript just like SDE. But in the end, udev will end up
in initramfs and we will not need to do this.
> uSDE
> scan at boot time and also perform policy method. so when moved or replaced devcie when the machine is
> down, the name can also be persisted.
>
>
> 3. for multipath device.
> uDEV
> not support it.
Not true. The CALLOUT rule handles this just fine. I have a small
userspace program here from someone else that handles multipath devices
through the CALLOUT rule.
In fact I think this shows the flexibility of udev. If you come up with
some new kind of device, or subsystem, or way of determining that you
want to name a device, udev can run _any_ program to do this. No
rebuilding the code, or creating a shared library. Small simple
programs all talking together in a universal manner. Hm, where have I
heard that design decision before....
> uSDE
> automatically detect mulitpath device and create md device. support hot add a new path and remove a path.
>
> 4. ethernet
> uDEV
> not deal with it
And this is on purpose. Why would we, when there are so many other
programs out there that do deal with network devices. Remember, not
all network connections are ethernet, which shows the limitation of SDE
in not handling all of them (ppp, ipsec, usb network devices, isdn, atm,
wireless, etc.)
> nameif
> name interface based on MAC,
> uSDE
> can set map based on MAC, SLOT.
> support both setting manually map and automatic processing
> support hotplug, eg. when exchange two device, the name can also be exchanged automatically.
> .
> 5.devfs simulation
> uDEV
> No such function
Huh? All it needs is a single config file to be created. As the
current installed base of devfs users can probably all fit into my
basement with room to spare, and no one is coming up with such a file
for udev yet, I don't think this is a real need yet :)
But again, no rebuilding needed, if such a config file shows up, udev
will do this just fine.
> uSDE
> provide devfs simulation method.
>
> >From the above comparsion, we can see uSDE really have some advantages.As far maintaince,
> I think that more codes don't mean lacking maintainability.
But it is at least one indicator, correct?
> Thanks
> Guo Min
In the interest of full disclosure, Min is one of the SDE authors, and I
am one of the udev authors.
Min, maybe you can answer why Intel has spent effort on this project
instead of offering to help udev, which has been public for a long time
now?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
@ 2003-10-31 0:45 David Dodge
2003-10-31 0:58 ` Greg KH
0 siblings, 1 reply; 14+ messages in thread
From: David Dodge @ 2003-10-31 0:45 UTC (permalink / raw)
To: Greg KH
Cc: Guo, Min, Steven Dake, Lars Marowsky-Bree, Mark Bellon,
linux-raid, linux-kernel, linux-hotplug-devel, cgl_discussion,
Ling, Xiaofeng
Greg KH writes:
> On Wed, Oct 29, 2003 at 01:12:26PM +0800, Guo, Min wrote:
> > 2.For non-hotplug device
[...]
> > uDEV:
> > not deal with it
>
> See Robert Love's very simple script to populate stuff from sysfs. It
> can run from initscript just like SDE. But in the end, udev will end up
> in initramfs and we will not need to do this.
So the intent is to have compiled-in drivers for already-attached
devices (framebuffer, system disks, loop, whatever) generate calls to
/sbin/hotplug within initramfs?
Mainly I'm asking because I did try putting a hotplug script into an
initramfs a few weeks ago (using -test7), and it didn't appear to be
invoked for e.g. the VESA framebuffer. So I want to make sure this is a
"future" capability and not something that should have worked :-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-31 0:45 David Dodge
@ 2003-10-31 0:58 ` Greg KH
2003-10-31 2:29 ` Dave Dodge
0 siblings, 1 reply; 14+ messages in thread
From: Greg KH @ 2003-10-31 0:58 UTC (permalink / raw)
To: David Dodge
Cc: linux-raid, linux-hotplug-devel, Lars Marowsky-Bree,
Ling, Xiaofeng, Guo, Min, Mark Bellon, linux-kernel,
cgl_discussion, Steven Dake
On Thu, Oct 30, 2003 at 07:45:08PM -0500, David Dodge wrote:
> Greg KH writes:
> > On Wed, Oct 29, 2003 at 01:12:26PM +0800, Guo, Min wrote:
> > > 2.For non-hotplug device
> [...]
> > > uDEV:
> > > not deal with it
> >
> > See Robert Love's very simple script to populate stuff from sysfs. It
> > can run from initscript just like SDE. But in the end, udev will end up
> > in initramfs and we will not need to do this.
>
> So the intent is to have compiled-in drivers for already-attached
> devices (framebuffer, system disks, loop, whatever) generate calls to
> /sbin/hotplug within initramfs?
>
> Mainly I'm asking because I did try putting a hotplug script into an
> initramfs a few weeks ago (using -test7), and it didn't appear to be
> invoked for e.g. the VESA framebuffer. So I want to make sure this is a
> "future" capability and not something that should have worked :-)
This is something that should have worked for you today, /sbin/hotplug
does get called during early boot, before init is started up.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: ANNOUNCE: User-space System Device Enumation (uSDE)
2003-10-31 0:58 ` Greg KH
@ 2003-10-31 2:29 ` Dave Dodge
0 siblings, 0 replies; 14+ messages in thread
From: Dave Dodge @ 2003-10-31 2:29 UTC (permalink / raw)
To: Greg KH
Cc: Guo, Min, Steven Dake, Lars Marowsky-Bree, Mark Bellon,
linux-raid, linux-kernel, linux-hotplug-devel, cgl_discussion,
Ling, Xiaofeng
Greg KH writes:
> On Thu, Oct 30, 2003 at 07:45:08PM -0500, David Dodge wrote:
[...]
> > Mainly I'm asking because I did try putting a hotplug script into an
> > initramfs a few weeks ago (using -test7), and it didn't appear to be
> > invoked for e.g. the VESA framebuffer. So I want to make sure this is a
> > "future" capability and not something that should have worked :-)
>
> This is something that should have worked for you today, /sbin/hotplug
> does get called during early boot, before init is started up.
Okay, I'll keep working at it. Unfortunately my main test system has
since had a major hardware failure and I haven't gotten a replacement
set up yet.
In the meantime, from a quick look at the kernel code I see this:
- invocations of /sbin/hotplug normally go through call_usermodehelper.
- kernel/kmod.c: call_usermodehelper does this prior to scheduling
any work:
if (!system_running)
return -EBUSY;
- init/main.c: system_running is not set non-zero until just
prior to starting init.
So it looks like calls to hotplug are dropped while compiled-in
drivers are initializing. Or am I missing something obvious? I
needed a one-line patch to be able to boot into initramfs; do I need
another to enable call_usermodehelper earlier?
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2003-10-31 2:29 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-27 20:41 ANNOUNCE: User-space System Device Enumation (uSDE) Mark Bellon
2003-10-27 21:00 ` Lars Marowsky-Bree
2003-10-27 21:14 ` Mark Bellon
2003-10-28 11:00 ` Lars Marowsky-Bree
2003-10-28 18:12 ` Steven Dake
2003-10-28 22:44 ` Greg KH
2003-10-27 23:15 ` Steven Dake
2003-10-27 23:19 ` Mark Bellon
-- strict thread matches above, loose matches on Subject: below --
2003-10-29 5:12 Guo, Min
2003-10-29 16:10 ` Steven Dake
2003-10-29 19:04 ` Greg KH
2003-10-31 0:45 David Dodge
2003-10-31 0:58 ` Greg KH
2003-10-31 2:29 ` Dave Dodge
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).