Re: KLD naming

1999-01-21 Thread Julian Elischer
well you're about to get your first test
we are releasing the netgrpah code in full production form tonigh (if 
the version we've put together for release passes all tests tonight)
The whole thing installs as KLD modules (or linked in of course)

our present names are all predicated with ng_ 
hence ng_socket ng_rfc1490, ng_frame_relay etc 
the base module is 'netgraph'.

now what would you suggest?
we can still cahnge it before we release and no-body knows any better but
after is always harder to change than beefore..

julian


On Wed, 20 Jan 1999, Mike Smith wrote:

  On Wed, Jan 20, 1999 at 07:19:15PM -0800, David O'Brien wrote:
  [..]
   etc?  This is what the original poster suggested, and nobody has really
   given a good response what is wrong with the grouping being expressed
   in the modules' name.  Mike Smith and Andrzej Bialecki have given good
   reasons why *not* to go to a subdirectory structure.
  
  What would you name a network stack?   For example:
  
  net_mpls_tdp.ko
  net_mpls_ldp.ko
  net_mpls_core.ko
  
  or
  net_h323v2_yada.ko
  net_h323v2_yadayada.ko
  net_h323v2_barf.ko
  
  or
  codec_g711.ko
  codec_g7231a.ko
  codec_g729.ko
  
  Is that acceptable?  Anyone have better ideas?
 
 I guess it depends on how fancy we want to get.  Here are some examples 
 that I've been rolling around; some are fanciful, some practical)
 
   dev_generic device (eg. dev_sio)
   bus_bus support (eg. bus_pci)
   netif_  network interface (eg. netif_ed)
   netproto_   network protocol (eg. netproto_arp)
   netdomain_  network domain (eg. netdomain_ip)
   vfs_VFS layer (eg. vfs_nfs)
   kern_   kernel infrastructure (eg. kern_vfs)
   syscall_loadable system calls (eg. syscall_sendfile)
 
 I don't think we want to make the mistake of being too specific about 
 what pigeonhole something falls into.  In many cases, we might want new 
 categories when a new case arises, eg. for USB we might have:
 
   bus_usb.ko
   usb_hub.ko
   usb_mouse.ko
   usb_keyboard.ko
   usb_disk.ko
   usb_scanner.ko
   ...
 
 There's no ambiguity here, the names are simple and convey a direct 
 set of relationships.  Your examples (except the first) do a pretty 
 good job of the same thing.
 
 -- 
 \\  Sometimes you're ahead,   \\  Mike Smith
 \\  sometimes you're behind.  \\  m...@smith.net.au
 \\  The race is long, and in the  \\  msm...@freebsd.org
 \\  end it's only with yourself.  \\  msm...@cdrom.com
 
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Mike Smith
 well you're about to get your first test
 we are releasing the netgrpah code in full production form tonigh (if 
 the version we've put together for release passes all tests tonight)
 The whole thing installs as KLD modules (or linked in of course)
 
 our present names are all predicated with ng_ 
 hence ng_socket ng_rfc1490, ng_frame_relay etc 
 the base module is 'netgraph'.
 
 now what would you suggest?
 we can still cahnge it before we release and no-body knows any better but
 after is always harder to change than beefore..

Hmm.  Where does netgraph fit in?  From your earlier commits, I 
presume it's a domain, so I would suggest:

netdomain_netgraph.ko
netgraph_rfc1490.ko
netgraph_framerelay.ko
...

ie. don't be afraid to be verbose.  I'd certainly say no to a 
two-letter abbreviation.

 julian
 
 
 On Wed, 20 Jan 1999, Mike Smith wrote:
 
   On Wed, Jan 20, 1999 at 07:19:15PM -0800, David O'Brien wrote:
   [..]
etc?  This is what the original poster suggested, and nobody has really
given a good response what is wrong with the grouping being expressed
in the modules' name.  Mike Smith and Andrzej Bialecki have given good
reasons why *not* to go to a subdirectory structure.
   
   What would you name a network stack?   For example:
   
 net_mpls_tdp.ko
 net_mpls_ldp.ko
 net_mpls_core.ko
   
   or
 net_h323v2_yada.ko
 net_h323v2_yadayada.ko
 net_h323v2_barf.ko
   
   or
 codec_g711.ko
 codec_g7231a.ko
 codec_g729.ko
   
   Is that acceptable?  Anyone have better ideas?
  
  I guess it depends on how fancy we want to get.  Here are some examples 
  that I've been rolling around; some are fanciful, some practical)
  
  dev_generic device (eg. dev_sio)
  bus_bus support (eg. bus_pci)
  netif_  network interface (eg. netif_ed)
  netproto_   network protocol (eg. netproto_arp)
  netdomain_  network domain (eg. netdomain_ip)
  vfs_VFS layer (eg. vfs_nfs)
  kern_   kernel infrastructure (eg. kern_vfs)
  syscall_loadable system calls (eg. syscall_sendfile)
  
  I don't think we want to make the mistake of being too specific about 
  what pigeonhole something falls into.  In many cases, we might want new 
  categories when a new case arises, eg. for USB we might have:
  
  bus_usb.ko
  usb_hub.ko
  usb_mouse.ko
  usb_keyboard.ko
  usb_disk.ko
  usb_scanner.ko
  ...
  
  There's no ambiguity here, the names are simple and convey a direct 
  set of relationships.  Your examples (except the first) do a pretty 
  good job of the same thing.
  
  -- 
  \\  Sometimes you're ahead,   \\  Mike Smith
  \\  sometimes you're behind.  \\  m...@smith.net.au
  \\  The race is long, and in the  \\  msm...@freebsd.org
  \\  end it's only with yourself.  \\  msm...@cdrom.com
  
  
  
  To Unsubscribe: send mail to majord...@freebsd.org
  with unsubscribe freebsd-current in the body of the message
  
 
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Doug Rabson
On Wed, 20 Jan 1999, Mike Smith wrote:

 I guess it depends on how fancy we want to get.  Here are some examples 
 that I've been rolling around; some are fanciful, some practical)
 
   dev_generic device (eg. dev_sio)
   bus_bus support (eg. bus_pci)
   netif_  network interface (eg. netif_ed)
   netproto_   network protocol (eg. netproto_arp)
   netdomain_  network domain (eg. netdomain_ip)
   vfs_VFS layer (eg. vfs_nfs)
   kern_   kernel infrastructure (eg. kern_vfs)
   syscall_loadable system calls (eg. syscall_sendfile)
 
 I don't think we want to make the mistake of being too specific about 
 what pigeonhole something falls into.  In many cases, we might want new 
 categories when a new case arises, eg. for USB we might have:
 
   bus_usb.ko
   usb_hub.ko
   usb_mouse.ko
   usb_keyboard.ko
   usb_disk.ko
   usb_scanner.ko
   ...
 
 There's no ambiguity here, the names are simple and convey a direct 
 set of relationships.  Your examples (except the first) do a pretty 
 good job of the same thing.

This is good.  As far as I'm concerned, we should go with this.

--
Doug Rabson Mail:  d...@nlsystems.com
Nonlinear Systems Ltd.  Phone: +44 181 442 9037



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


RE: KLD naming

1999-01-21 Thread paul
 -Original Message-
 From: Julian Elischer [mailto:jul...@whistle.com]
 Sent: Thursday, January 21, 1999 7:58 AM
 To: Mike Smith
 Cc: Christian Kuhtz; David O'Brien; curr...@freebsd.org
 Subject: Re: KLD naming 
 
 
 well you're about to get your first test
 we are releasing the netgrpah code in full production form tonigh (if 
 the version we've put together for release passes all tests tonight)
 The whole thing installs as KLD modules (or linked in of course)
 
 our present names are all predicated with ng_ 
 hence ng_socket ng_rfc1490, ng_frame_relay etc 
 the base module is 'netgraph'.
 
 now what would you suggest?
 we can still cahnge it before we release and no-body knows 
 any better but
 after is always harder to change than beefore..

Why not have a third party identifier on the front, e.g.

whistle_ng_rfc1490

You can determine your own naming scheme then and if we make this
standard then it will ensure that third party supplied modules don't
result in name space conflicts. It's perfectly feasible in the future
that different companies might produce competing modules for subsystems,
sound for example, so we might as well deal with this possibility now.
Makes it easier to identify the source of the modules as well. Perhaps
we should adopt a FreeBSD prefix on core modules so you can see from ls
what's part of the OS and what's been added in from elsewhere.

Although I'm in favour of this naming scheme over directories you can
reach the point where the names are holding too much metainformation
that really should be directory structure. There wouldn't be need for
directories at all if you put the structure in the filename :-)

Paul.

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Christian Kuhtz
On Thu, Jan 21, 1999 at 09:34:28AM +, Doug Rabson wrote:
 On Wed, 20 Jan 1999, Mike Smith wrote:
 
  I guess it depends on how fancy we want to get.  Here are some examples 
  that I've been rolling around; some are fanciful, some practical)
  
  dev_generic device (eg. dev_sio)
  bus_bus support (eg. bus_pci)
  netif_  network interface (eg. netif_ed)
  netproto_   network protocol (eg. netproto_arp)
  netdomain_  network domain (eg. netdomain_ip)

How is the difference between netproto  netdomain defined?  I'm running into
a case where I can easily turn the stack upside down (say, running frame-relay
over IP over MPLS in an IP tunnel over PPP -- that's almost working actually).

It sounds like netdomain is somehow higher up in the stack than netproto.. 
even though they're all protocols.

Comments?

Cheers,
Chris

-- 
  Logic is a little bird, sitting in a tree; that smells *awful*.
 --  /usr/bin/fortune

[Disclaimer: I speak for myself and my views are my own and not in any way to
 be construed as the views of BellSouth Corporation. ]

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


RE: KLD naming

1999-01-21 Thread Julian Elischer


On Thu, 21 Jan 1999 p...@originative.co.uk wrote:
 
 Why not have a third party identifier on the front, e.g.
 
 whistle_ng_rfc1490
 
 You can determine your own naming scheme then and if we make this
 standard then it will ensure that third party supplied modules don't
 result in name space conflicts. It's perfectly feasible in the future
 that different companies might produce competing modules for subsystems,
 sound for example, so we might as well deal with this possibility now.
 Makes it easier to identify the source of the modules as well. Perhaps
 we should adopt a FreeBSD prefix on core modules so you can see from ls
 what's part of the OS and what's been added in from elsewhere.
 
 Although I'm in favour of this naming scheme over directories you can
 reach the point where the names are holding too much metainformation
 that really should be directory structure. There wouldn't be need for
 directories at all if you put the structure in the filename :-)

Well whistle is giving htis away so we don'tthink it should be whistle_xxx
any more than the kernel should be UCB/...
It occur to me that eventually every single device driver will be a KLD
an also a lot of other things besides...
there are going to be  a LOT of files in /modules


 
 Paul.
 


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Julian Elischer


On Thu, 21 Jan 1999, Christian Kuhtz wrote:

 On Thu, Jan 21, 1999 at 09:34:28AM +, Doug Rabson wrote:
  On Wed, 20 Jan 1999, Mike Smith wrote:
  
   I guess it depends on how fancy we want to get.  Here are some examples 
   that I've been rolling around; some are fanciful, some practical)
   
 dev_generic device (eg. dev_sio)
 bus_bus support (eg. bus_pci)
 netif_  network interface (eg. netif_ed)
 netproto_   network protocol (eg. netproto_arp)
 netdomain_  network domain (eg. netdomain_ip)
 
 How is the difference between netproto  netdomain defined?  I'm running into
 a case where I can easily turn the stack upside down (say, running frame-relay
 over IP over MPLS in an IP tunnel over PPP -- that's almost working actually).
 
 It sounds like netdomain is somehow higher up in the stack than netproto.. 
 even though they're all protocols.
 
 Comments?
 
 Cheers,
 Chris
 
 -- 
   Logic is a little bird, sitting in a tree; that smells *awful*.
  --  /usr/bin/fortune
 
 [Disclaimer: I speak for myself and my views are my own and not in any way to
  be construed as the views of BellSouth Corporation. ]
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


RE: KLD naming

1999-01-21 Thread paul
 -Original Message-
 From: Julian Elischer [mailto:jul...@whistle.com]
 Sent: Thursday, January 21, 1999 5:39 PM
 To: p...@originative.co.uk
 Cc: m...@smith.net.au; c...@adsu.bellsouth.com; obr...@nuxi.com;
 curr...@freebsd.org
 Subject: RE: KLD naming 
 
 Well whistle is giving htis away so we don'tthink it should 
 be whistle_xxx
 any more than the kernel should be UCB/...
 It occur to me that eventually every single device driver 
 will be a KLD
 an also a lot of other things besides...
 there are going to be  a LOT of files in /modules

Ok, in this case maybe it doesn't apply but in general we should
determine what the guidelines for third party module developers should
be to avoid namespace clashes. I though a FreeBSD prefix for modules
shipped as part of FreeBSD would be useful to list all those modules
that are *not* third party supplied when you've got a directory full of
the things.

Paul.

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Mike Smith
  Well whistle is giving htis away so we don'tthink it should 
  be whistle_xxx
  any more than the kernel should be UCB/...
  It occur to me that eventually every single device driver 
  will be a KLD
  an also a lot of other things besides...
  there are going to be  a LOT of files in /modules
 
 Ok, in this case maybe it doesn't apply but in general we should
 determine what the guidelines for third party module developers should
 be to avoid namespace clashes. I though a FreeBSD prefix for modules
 shipped as part of FreeBSD would be useful to list all those modules
 that are *not* third party supplied when you've got a directory full of
 the things.

I've thought about this, and I think it would be a very bad idea.

We want to keep this *simple*.  In the case of, eg. OSS, one might 
expect:

dev_oss.ko
oss_yamaha.ko
oss_sb16.ko
...

There's no need to add extra crap just to identify the vendor.  It 
doesn't serve any really useful purpose - we will have metainformation 
elsewhere that can be used to link modules comprising a product 
together - there's no need to duplicate it in the filename.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


kld meta info (Re: KLD naming)

1999-01-21 Thread Christian Kuhtz

Is there meta information in a .ko file?  That way you could do a kldinfo to 
find out where to go for more info, etc.

On Thu, Jan 21, 1999 at 11:13:49AM -0800, Mike Smith wrote:
 I've thought about this, and I think it would be a very bad idea.
 
 We want to keep this *simple*.  In the case of, eg. OSS, one might 
 expect:
 
   dev_oss.ko
   oss_yamaha.ko
   oss_sb16.ko
   ...
 
 There's no need to add extra crap just to identify the vendor.  It 
 doesn't serve any really useful purpose - we will have metainformation 
 elsewhere that can be used to link modules comprising a product 
 together - there's no need to duplicate it in the filename.

-- 
  Logic is a little bird, sitting in a tree; that smells *awful*.
 --  /usr/bin/fortune

[Disclaimer: I speak for myself and my views are my own and not in any way to
 be construed as the views of BellSouth Corporation. ]

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: kld meta info (Re: KLD naming)

1999-01-21 Thread Mike Smith
 
 Is there meta information in a .ko file?  That way you could do a kldinfo to 
 find out where to go for more info, etc.

There's not time to standardise this, so I would say that 3.x .ko files 
won't have metainformation internally, no.  Certainly 4.x .ko files 
will carry a lot more metainformation with them, and that may include 
this, yes.

 On Thu, Jan 21, 1999 at 11:13:49AM -0800, Mike Smith wrote:
  I've thought about this, and I think it would be a very bad idea.
  
  We want to keep this *simple*.  In the case of, eg. OSS, one might 
  expect:
  
  dev_oss.ko
  oss_yamaha.ko
  oss_sb16.ko
  ...
  
  There's no need to add extra crap just to identify the vendor.  It 
  doesn't serve any really useful purpose - we will have metainformation 
  elsewhere that can be used to link modules comprising a product 
  together - there's no need to duplicate it in the filename.
 
 -- 
   Logic is a little bird, sitting in a tree; that smells *awful*.
  --  /usr/bin/fortune
 
 [Disclaimer: I speak for myself and my views are my own and not in any way to
  be construed as the views of BellSouth Corporation. ]

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-21 Thread Mike Smith
 I've taken this off list. I'm not sure we're quite addressing the same
 issue.

No, I think we were at angles for a bit here.  But I do believe that 
this is something work copying to people on the list, as you do raise a 
very good point.  I hope this was on -current. 8)

  I've thought about this, and I think it would be a very bad idea.
  
  We want to keep this *simple*.  In the case of, eg. OSS, one might 
  expect:
  
  dev_oss.ko
  oss_yamaha.ko
  oss_sb16.ko
  ...
  
  There's no need to add extra crap just to identify the vendor.  It 
  doesn't serve any really useful purpose - we will have 
  metainformation elsewhere that can be used to link modules
  comprising a product together - there's no need to duplicate it
  in the filename.
 
 It's not a question, primarily, of being able to identify the vendor
 from the filename, it's more the case of different vendors not both
 choosing the *same* filename thereby making it very difficult to install
 them both at the same time. I'm saying primarily since if we do have a
 vendor prefix in the filename it would make it easy to see where a
 module came from but that is not my main motivation for suggesting it.
 
 I'm proposing that the guidleline be that anyone wishing to publish
 their own modules (i.e. not contribute them to the FreeBSD source base)
 should effectively create their own namespace by prefixing the filename
 with a vendor code. This would make clashes a lot less likely and if
 necessary a registry of vendor codes would have to be made available.
 
 I can't see how you can avoid namespace clashes otherwise. Third party
 developers aren't likely to communicate with each other to ensure
 uniqueness so it's better that the naming convention provide a mechanism
 for such parties to ensure that the filenames they choose don't clash
 with other people's modules.

Ah, understood.  I'd be inclined to use a suffix, so that our 
prefix-based classification scheme still worked, eg.

dev_ahc_Adaptec.ko
kern_descrypt_RSA.ko

etc.

 It'd be very irritating to pop a floppy in the machine that you got from
 some vendor, run install and then find that some important module had
 been overwritten from the vendor disk, or that the install failed
 because it couldn't copy over all the modules.

Understood now, yes.
-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


RE: KLD naming

1999-01-21 Thread paul
 -Original Message-
 From: Mike Smith [mailto:m...@smith.net.au]
 Sent: Thursday, January 21, 1999 8:25 PM
 To: p...@originative.co.uk
 Cc: curr...@freebsd.org
 Subject: Re: KLD naming 
 

...

 Ah, understood.  I'd be inclined to use a suffix, so that our 
 prefix-based classification scheme still worked, eg.
 
   dev_ahc_Adaptec.ko
   kern_descrypt_RSA.ko
 
 etc.

Hmm, wouldn't this impose our kernel structure onto modules? This might
not be desirable for external developers, they may just want to provide
a single module rather than split the product into submodules that fit
our categories. Why not allow

SafeCo_firewall.ko

rather than

netif_foo_SafeCo.ko
netproto_bar_SafeCo.ko
etc.

Paul.

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


RE: KLD naming

1999-01-20 Thread paul
 -Original Message-
 From: Archie Cobbs [mailto:arc...@whistle.com]
 Sent: Wednesday, January 20, 1999 6:13 AM
 To: d...@nlsystems.com
 Cc: gelde...@mediaport.org; curr...@freebsd.org
 Subject: Re: KLD naming
 
 
 Doug Rabson writes:
   Might it be a good idea to choose a consistent naming 
 scheme for the
   modules? I'd think so because it would help blind loading 
 at the boot
   prompt. If you choose names it the following format:
   
   type_name
   saver_warp
   saver_daemon
   
   the modules of one type will sort together in a directory 
 listing. This is a
   change that will make FreeBSD more user friendly I think.
  
  When I first started writing KLD, I had a vague notion that 
 there would be
  a simple directory structure under /modules, e.g.:
  
  /modules
  pci/
  ncr.ko
  ...
  isa/
  if_ed.ko
  ...
  ...
 
 I like this idea (subdirectories) better.. it will last longer :-)
 Witness the explosion of the ports tree.
 
 You should then be able to load a module isa/if_ed.ko etc
 and have it work (no leading slash).

I don't think subdirectories based on bus type is a good idea, it
doesn't really fit the granularity we're probably heading towards. Some
thinks don't really fit at all, filesystems, screen savers etc and even
for drivers we're heading towards less bus specific devices so an
ethernet driver, say, would be the same for any bus, only the startup
code would be different and possibly(probably) in a different module.

A functional structure is probably better

/modules
/devices
/ethernet
/storage
/display
/network
/filesystems
/screensavers


etc.

Not a specific proposal for actual directories but perhaps a better
direction. I think we should start thinking more in terms of function,
rather than bus, in a lot of what we do with devices as we abstract out
the bus code more effectively.

Paul.

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Jeroen C. van Gelderen
From: Archie Cobbs arc...@whistle.com

Doug Rabson writes:
  Might it be a good idea to choose a consistent naming scheme for the
  modules? I'd think so because it would help blind loading at the boot
  prompt. If you choose names it the following format:
 
  type_name
  saver_warp
  saver_daemon
 
  the modules of one type will sort together in a directory listing. This
is a
  change that will make FreeBSD more user friendly I think.

 When I first started writing KLD, I had a vague notion that there would
be
 a simple directory structure under /modules, e.g.:

 /modules
 pci/
 ncr.ko
 ...
 isa/
 if_ed.ko
 ...
 ...

I like this idea (subdirectories) better.. it will last longer :-)
Witness the explosion of the ports tree.

I witnessed. But I don't think we will be heading that way. Even if you have
40 modules in each category, this ought to work (ls saver*). It will work
because we prefix every driver with it's type so they sort together. This
would have worked for the ports tree as well.

Another advantage of the flat model is that it's way easier to browse. IMHO
it's a real pain to have descend into subdirectories, only to find out that
you want to look in another one.

Cheers,
Jeroen
--
Jeroen C. van Gelderen -- gelde...@mediaport.org -- 0x46D8D3C8 -- [8-D}~=


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Mike Smith
  When I first started writing KLD, I had a vague notion that there would be
  a simple directory structure under /modules, e.g.:
  
  /modules
  pci/
  ncr.ko
  ...
  isa/
  if_ed.ko
  ...
  ...
 
 I like this idea (subdirectories) better.. it will last longer :-)

It's a really bad idea, because it requires you to classify things.  It 
also makes it much harder to administer.  In addition, classifications 
are bad (witness the need to reorganise the kernel source tree).

 You should then be able to load a module isa/if_ed.ko etc
 and have it work (no leading slash).

And here is a good example.  Why would you want to put if_ed in the 
ISA category when it can be attached to both the PCI and ISA busses?

 In fact, we can implement this (maybe it already works) before
 coming to a final decision on what the actual layout should be.

A single directory holding module files.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Archie Cobbs
Mike Smith writes:
   When I first started writing KLD, I had a vague notion that there would be
   a simple directory structure under /modules, e.g.:
   
 /modules
 pci/
 ncr.ko
 ...
 isa/
 if_ed.ko
 ...
 ...
  
  I like this idea (subdirectories) better.. it will last longer :-)
 
 It's a really bad idea, because it requires you to classify things.  It 
 also makes it much harder to administer.  In addition, classifications 
 are bad (witness the need to reorganise the kernel source tree).
 
  You should then be able to load a module isa/if_ed.ko etc
  and have it work (no leading slash).
 
 And here is a good example.  Why would you want to put if_ed in the 
 ISA category when it can be attached to both the PCI and ISA busses?

I don't care how you classify it.. of course the isa category is wrong.

I was just pointing out that having things in subdirectories
is better than having a zillion files piled into a single directory.

 are bad (witness the need to reorganise the kernel source tree).

Maybe I'm just an optimist.. but if we have already solved (through
various incarnations) how to classify the kernel source, then we can
pretty much inherit this same classification scheme for the modules.

After all, they are all *kernel* modules, right?

 A single directory holding module files.

Blech :-)

-Archie

___
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Mike Smith

[KLD module file locations]

 I was just pointing out that having things in subdirectories
 is better than having a zillion files piled into a single directory.

I'm torn between agreeing that it's tidier and disagreeing on the 
grounds that it's much more of a pain to administer.  Where is that 
damnned module? Why am I loading a stale version of saver_foo?, etc.

As a rule when I'm thinking about KLDs I look at the way that MacOS
manages inits/extensions.  That's a model that's survived over a decade
of use by generally fairly clueless users, and hasn't completely
irritated the smarter ones either.

  are bad (witness the need to reorganise the kernel source tree).
 
 Maybe I'm just an optimist.. but if we have already solved (through
 various incarnations) how to classify the kernel source, then we can
 pretty much inherit this same classification scheme for the modules.

The fact that we're trying to reorganise the kernel sources right now 
tends to indicate to me that we haven't solved this at all.

  A single directory holding module files.
 
 Blech :-)

Put aside the aesthetics for a moment, and try to raise some real, 
practical objections.  I'm continually battling my own temptation to 
make the whole module thing more complex, but if you've got really good 
reasons that can justify the extra complexity everywhere I'm still open 
to suggestions.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Andrzej Bialecki
On Wed, 20 Jan 1999, Archie Cobbs wrote:

   I like this idea (subdirectories) better.. it will last longer :-)
  
  It's a really bad idea, because it requires you to classify things.  It 
  also makes it much harder to administer.  In addition, classifications 
  are bad (witness the need to reorganise the kernel source tree).
  
   You should then be able to load a module isa/if_ed.ko etc
   and have it work (no leading slash).
  
  And here is a good example.  Why would you want to put if_ed in the 
  ISA category when it can be attached to both the PCI and ISA busses?
 
 I don't care how you classify it.. of course the isa category is wrong.
 
 I was just pointing out that having things in subdirectories
 is better than having a zillion files piled into a single directory.

Not always. Consider a case when all modules are on a slow media (such as
a floppy or zipfs) - then putting things in subdirs adds quite significant
overhead to load/ls/search due to pathname lookups.

Andrzej Bialecki

   ++---++  -
 ab...@nask.pl   ||PicoBSD||   FreeBSD in your pocket? Go and see:
 Research  Academic   |+---+|   Small  Embedded FreeBSD
 Network in Poland | |TT~~~| |http://www.freebsd.org/~picobsd/
   ~-+==---+-+  -


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Archie Cobbs
Mike Smith writes:
   A single directory holding module files.
  
  Blech :-)
 
 Put aside the aesthetics for a moment, and try to raise some real, 
 practical objections.  I'm continually battling my own temptation to 
 make the whole module thing more complex, but if you've got really good 
 reasons that can justify the extra complexity everywhere I'm still open 
 to suggestions.

You've got a good point, I don't have any really good reasons,
other than trying to be 'organized'.

I guess if it looks like the number of files is getting out of
hand, then at that time we can say I told you so! and then fix
the problem.

Solving problems on-demand rather than preemptively is more
efficient I suppose.. :-)

-Archie

___
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Zach Heilig
On Wed, Jan 20, 1999 at 03:36:14PM -0800, Mike Smith wrote:
 [KLD module file locations]
  I was just pointing out that having things in subdirectories
  is better than having a zillion files piled into a single directory.

 I'm torn between agreeing that it's tidier and disagreeing on the 
 grounds that it's much more of a pain to administer.  Where is that 
 damnned module? Why am I loading a stale version of saver_foo?, etc.

Perhaps something more along the lines of:

/modules- empty, except for directories
/console- console related modules
blank_saver.ko, daemon_saver.ko, fade_saver.ko, green_saver.ko,
logo_saver.ko, rain_saver.ko, snake_saver.ko, star_saver.ko,
vesa.ko, warp_saver.ko
/devices- device drivers.
joy.ko
/emulation  - like linux, fpu, etc...
fpu.ko, gnufpu.ko, ibcs2.ko, ibcs2_coff.ko, linux.ko
/fs - filesystem related modules
atapi.ko, ccd.ko, cd9660.ko, coda.ko, fdesc.ko, kernfs.ko, mfs.ko,
msdos.ko, nfs.ko, null.ko, portal.ko, procfs.ko, umap.ko, union.ko,
vinum.ko
/net- network related modules.
if_disc.ko, if_ppp.ko, if_sl.ko, if_tun.ko, ipfw.ko

I think this takes care of everything currently in /modules.

-- 
Zach Heilig z...@uffdaonline.net / Zach Heilig z...@gaffaneys.com

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread David O'Brien
 Perhaps something more along the lines of:
 
 /modules- empty, except for directories
 /console- console related modules
 blank_saver.ko, daemon_saver.ko, fade_saver.ko, green_saver.ko,

Gross.  What is wrong with:

saver_*.ko
device_*.ko
linux_*.ko
fs_*.ko
if_*.ko

etc?  This is what the original poster suggested, and nobody has really
given a good response what is wrong with the grouping being expressed
in the modules' name.  Mike Smith and Andrzej Bialecki have given good
reasons why *not* to go to a subdirectory structure.

-- 
-- David(obr...@nuxi.com  -or-  obr...@freebsd.org)

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Christian Kuhtz


Why not just follow the directory structure under /sys?

Afterall, we are talking about kernel stuff here.

On Wed, Jan 20, 1999 at 10:58:13AM -, p...@originative.co.uk wrote:
[..]
 I don't think subdirectories based on bus type is a good idea, it
 doesn't really fit the granularity we're probably heading towards. Some
 thinks don't really fit at all, filesystems, screen savers etc and even
 for drivers we're heading towards less bus specific devices so an
 ethernet driver, say, would be the same for any bus, only the startup
 code would be different and possibly(probably) in a different module.
 
 A functional structure is probably better
 
 /modules
   /devices
   /ethernet
   /storage
   /display
   /network
   /filesystems
   /screensavers
 
 
 etc.
 
 Not a specific proposal for actual directories but perhaps a better
 direction. I think we should start thinking more in terms of function,
 rather than bus, in a lot of what we do with devices as we abstract out
 the bus code more effectively.
 
 Paul.
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 

-- 
  Logic is a little bird, sitting in a tree; that smells *awful*.
 --  /usr/bin/fortune

[Disclaimer: I speak for myself and my views are my own and not in any way to
 be construed as the views of BellSouth Corporation. ]

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Christian Kuhtz
On Wed, Jan 20, 1999 at 07:19:15PM -0800, David O'Brien wrote:
[..]
 etc?  This is what the original poster suggested, and nobody has really
 given a good response what is wrong with the grouping being expressed
 in the modules' name.  Mike Smith and Andrzej Bialecki have given good
 reasons why *not* to go to a subdirectory structure.

What would you name a network stack?   For example:

net_mpls_tdp.ko
net_mpls_ldp.ko
net_mpls_core.ko

or
net_h323v2_yada.ko
net_h323v2_yadayada.ko
net_h323v2_barf.ko

or
codec_g711.ko
codec_g7231a.ko
codec_g729.ko

Is that acceptable?  Anyone have better ideas?

Cheers,
Chris

-- 
  Logic is a little bird, sitting in a tree; that smells *awful*.
 --  /usr/bin/fortune

[Disclaimer: I speak for myself and my views are my own and not in any way to
 be construed as the views of BellSouth Corporation. ]

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Robert Watson
On Wed, 20 Jan 1999, Mike Smith wrote:

  I was just pointing out that having things in subdirectories
  is better than having a zillion files piled into a single directory.
 
 I'm torn between agreeing that it's tidier and disagreeing on the 
 grounds that it's much more of a pain to administer.  Where is that 
 damnned module? Why am I loading a stale version of saver_foo?, etc.

Putting the source code in different directories is not equivilent to
putting the modules in different directories, needless to say.  :-)  As
such, I think having a structured source tree is really nice, but the
simplicity of modules in a single directory in the style of MacOS
extensions as you discuss has appeal (and means that users don't have to
try and reproduce a directory hierarchy for binary-only modules they get
somewhere).  On the other hand, this still requires moderation in
namespace use for modules.

  Robert N Watson 

rob...@fledge.watson.org  http://www.watson.org/~robert/
PGP key fingerprint: 03 01 DD 8E 15 67 48 73  25 6D 10 FC EC 68 C1 1C

Carnegie Mellon Universityhttp://www.cmu.edu/
TIS Labs at Network Associates, Inc.  http://www.tis.com/
SafePort Network Services http://www.safeport.com/


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Mike Smith
 On Wed, Jan 20, 1999 at 07:19:15PM -0800, David O'Brien wrote:
 [..]
  etc?  This is what the original poster suggested, and nobody has really
  given a good response what is wrong with the grouping being expressed
  in the modules' name.  Mike Smith and Andrzej Bialecki have given good
  reasons why *not* to go to a subdirectory structure.
 
 What would you name a network stack?   For example:
 
   net_mpls_tdp.ko
   net_mpls_ldp.ko
   net_mpls_core.ko
 
 or
   net_h323v2_yada.ko
   net_h323v2_yadayada.ko
   net_h323v2_barf.ko
 
 or
   codec_g711.ko
   codec_g7231a.ko
   codec_g729.ko
 
 Is that acceptable?  Anyone have better ideas?

I guess it depends on how fancy we want to get.  Here are some examples 
that I've been rolling around; some are fanciful, some practical)

dev_generic device (eg. dev_sio)
bus_bus support (eg. bus_pci)
netif_  network interface (eg. netif_ed)
netproto_   network protocol (eg. netproto_arp)
netdomain_  network domain (eg. netdomain_ip)
vfs_VFS layer (eg. vfs_nfs)
kern_   kernel infrastructure (eg. kern_vfs)
syscall_loadable system calls (eg. syscall_sendfile)

I don't think we want to make the mistake of being too specific about 
what pigeonhole something falls into.  In many cases, we might want new 
categories when a new case arises, eg. for USB we might have:

bus_usb.ko
usb_hub.ko
usb_mouse.ko
usb_keyboard.ko
usb_disk.ko
usb_scanner.ko
...

There's no ambiguity here, the names are simple and convey a direct 
set of relationships.  Your examples (except the first) do a pretty 
good job of the same thing.

-- 
\\  Sometimes you're ahead,   \\  Mike Smith
\\  sometimes you're behind.  \\  m...@smith.net.au
\\  The race is long, and in the  \\  msm...@freebsd.org
\\  end it's only with yourself.  \\  msm...@cdrom.com



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-20 Thread Jordan K. Hubbard
 I guess it depends on how fancy we want to get.  Here are some examples 
 that I've been rolling around; some are fanciful, some practical)
 
   dev_generic device (eg. dev_sio)
   bus_bus support (eg. bus_pci)
   netif_  network interface (eg. netif_ed)
   netproto_   network protocol (eg. netproto_arp)
   netdomain_  network domain (eg. netdomain_ip)
   vfs_VFS layer (eg. vfs_nfs)
   kern_   kernel infrastructure (eg. kern_vfs)
   syscall_loadable system calls (eg. syscall_sendfile)

I like this.  It's the best alternative to an arbitrarily deep
(and much disputed) directory structure I've seen so far.

- Jordan

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-19 Thread Doug Rabson
On Tue, 19 Jan 1999, Jeroen C. van Gelderen wrote:

 Hi,
 
 Might it be a good idea to choose a consistent naming scheme for the
 modules? I'd think so because it would help blind loading at the boot
 prompt. If you choose names it the following format:
 
 type_name
 saver_warp
 saver_daemon
 
 the modules of one type will sort together in a directory listing. This is a
 change that will make FreeBSD more user friendly I think.

When I first started writing KLD, I had a vague notion that there would be
a simple directory structure under /modules, e.g.:

/modules
pci/
ncr.ko
...
isa/
if_ed.ko
...
...

Including the type in the filename instead might be a better idea though.

--
Doug Rabson Mail:  d...@nlsystems.com
Nonlinear Systems Ltd.  Phone: +44 181 442 9037



To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: KLD naming

1999-01-19 Thread Archie Cobbs
Doug Rabson writes:
  Might it be a good idea to choose a consistent naming scheme for the
  modules? I'd think so because it would help blind loading at the boot
  prompt. If you choose names it the following format:
  
  type_name
  saver_warp
  saver_daemon
  
  the modules of one type will sort together in a directory listing. This is a
  change that will make FreeBSD more user friendly I think.
 
 When I first started writing KLD, I had a vague notion that there would be
 a simple directory structure under /modules, e.g.:
 
   /modules
   pci/
   ncr.ko
   ...
   isa/
   if_ed.ko
   ...
   ...

I like this idea (subdirectories) better.. it will last longer :-)
Witness the explosion of the ports tree.

You should then be able to load a module isa/if_ed.ko etc
and have it work (no leading slash).

In fact, we can implement this (maybe it already works) before
coming to a final decision on what the actual layout should be.

-Archie

___
Archie Cobbs   *   Whistle Communications, Inc.  *   http://www.whistle.com

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message