cGull wrote:

>Hey,
>
>I have just found a site that is converting the oreilly linux drivers
>book from C to Assembly.  So if you want to write lightning fast drivers
>in assembly heres the stuff...
>

First of all thanks for the link.

The problem with assembly language is that it is processor specific. 
Since Linux runs on a _variety_ of processors, it makes no sense to 
write drivers specific to one platform. The other problem is 
maintenance. Not too many people are familiar with asm, and thus do get 
a lesser review.

Another issue of writing drivers in assembly is that we _loose_ the real 
value added driver API. But if you are lookig at only writing parts of 
it in assembly, The earlier case still _does_ hover.

Now, if the driver is properly written gcc later versions is quite 
optimized and you get a very good performance near to asm. So there is 
not much of a big point in doing it in asm. Another argument would be 
that certain crunching operations can be done in asm faster, but again 
then these operations do not fit into the kernel, but userspace is a 
better choice and is just a matter of a good driver design.

Even in userspace, we do not like writing architecture specific code or 
compiler specific code, or even with compiler extensions even ! Since 
these are _not_ portable. The art of coding is to have good code which 
is portable and that works effeciently. Speed is not much of a criteria 
there. ifdefs are considered to be ugly and evil, so one can even forget 
#ifdef platform.


Manu



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Get fast access to your favorite Yahoo! Groups. Make Yahoo! your home page
http://us.click.yahoo.com/dpRU5A/wUILAA/yQLSAA/0XFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/dubailug/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to