On Fri, 12 Mar 2010, David Holland wrote: > On Thu, Mar 11, 2010 at 03:33:27PM +0000, Iain Hibbert wrote: > > > Could you show one (or more) real example(s) / senario(s)? That would > > > help to understand problems & clarify requirements... > > > > Well, a line discipline which takes serial IO and converts it into a soft > > device which interacts with the rest of the system. > > Line disciplines are a bad example, because they're a prehistoric kind > of hacked-up bus attachment and as such ought to be rototilled out of > existence.
Well, line discipline is a solution to a problem, which is that we want a 'device' in the kernel but the device is not directly accessible and communicates to us through a serial protocol. You can say its a bad idea all you like, but unless you suggest an alternative solution that doesn't help to remove it. One alternative is to move the translator out of the kernel, eg instead of using the pppd(8) which needs complicated hooks, import userland ppp(8) as per FreeBSD which IIRC provides a tap(4) interface. The argument against that is probably not as strong as it once was as even embedded devices these days can be several orders of magnitude faster than the computers that were prevalent when pppd(8) was written. But then, data rates have improved also - pppd(8) runs on my uhso(4) dongle at up to 180KiB/s and I expect there would still be objections to removing it. Any other solutions you would like to propose? iain
