RE: ANNOUNCE: User-space System Device Enumation (uSDE)

Steven Dake
2003-10-29T16:11:26Z

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