kernel pre-emption and software speech

Justin Ekis jekis at ntelos.net
Wed Oct 4 10:39:41 EDT 2006


On Wed, Oct 04, 2006 at 12:24:38PM +0200, Henrik Nilsen Omma wrote:
> On that point, could someone explain to me the reasons why speakup is 
> not in the default kernel? Is it very intrusive, or known to have 
> serious stability bugs? Is it not maintained actively enough to be 
> considered?

It was actually included in the mm development kernel for several months 
last year. I guess some things just didn't work out and it was dropped. 

For one thing, the speakup snapshot they took was several months out of 
date to start with, and never updated the entire time it was in there. I 
guess someone was working on it because the size of the speakup patch 
file kept changing, but cvsversion.h never changed so they didn't update 
from cvs. I get the impression from reading mailing lists that kernel 
developers don't care for cvs.

I've done some digging and found this message from the kernel list. two 
developers list there problems with speakup. I got curious when I first 
saw this and brought it to Kirk's attention off list that speakup was in 
mm. It seemed like it came as a surprise. How do they expect to get 
things fixed if they don't contact the maintainer? The patch adds his 
address in the Maintainers file. On top of that to work from an ancient 
version and never update. Considering all that, and the fact that 
speakup seems to be very stable, I think this message is overly harsh 
but I'm pasting it below anyway. I don't know how much is still relevant 
but maybe someone could take a look and we can try again to get it in. 
It's from Greg K-H, quoting another from Adrian Bunk. It seems to be 
mostly style concerns. It works, I say it should go. Oh well.

Justin


On Sat, Jul 09, 2005 at 04:07:18AM +0200, Adrian Bunk wrote:
> On Thu, Jul 07, 2005 at 04:00:37AM -0700, Andrew Morton wrote:
> >...
> > Changes since 2.6.13-rc1-mm1:
> >...
> > +gregkh-driver-speakup-docs.patch
> > +gregkh-driver-speakup-core.patch
> > 
> >  driver-core updates
> >...
> 
> These aren't driver-core updates, these are new drivers.

Yeah, sorry, I put them in my tree, in order for me to work on them.

> It seems I missed when this was sent for review to linus-kernel.

Heh, it's no where ready for such review, it needs a lot of cleanup.  I
did a lot of it about 12 months ago, but lost it somehow, don't want to
do that again...

I would not recommend reading the code just yet, unless you want to feel
ill...

> Some random nitpicks:
> 
> - SPEAKUP_DEFAULT shouldn't be asked if SPEAKUP=n
> - "make namespacecheck" shows tons of needlessly global code
> - the static variable special_handler is EXPORT_SYMBOL'ed
> - #define MIN should be removed
> - the file cvsversion.h only for keeping a CVS date is a bit
>   overkill
> - spk_con_module.h is not exactly how we use header files in the kernel
> - many of the #ifdef MODULE's point to things that could be done better
>   (especially the #include "mod_code.c"'s)
> - the things in synthlist.h could be done less ugly
> - speakupconf is a userspace script that belongs under Documentation/
> - dtload.c is not kernel code, and should therefore not be in that
>   directory
> - the code should follow Documentation/CodingStyle better
>   (no spaces between the braces and function arguments)
> - building speakup_keyhelp.c modular even in a kernel that doesn't
>   support modules is silly
> - #include <linux/...> belongs before #include <asm/...>

Yes, that's just the start of what needs to be done.  But I like it in
the -mm tree for now to at least give it wider testing to users who rely
on this hardware in order to have access to their machines.  I'll be
slowly working on it over the next month or so to fix these issues and
the placement of where it hooks into the main kernel.  Then I will
submit the driver for review by all of lkml.  I will not send it to
Linus until everyone agrees that it is acceptable.

thanks,

greg k-h




More information about the Speakup mailing list