This is the mail archive of the ecos-patches@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AT91 serial driver


On Thursday 23 October 2003 17:19, Laurent GONZALEZ wrote:
> Hello all,
>
> This patch seriously improves the at91 serial driver.
> We are now able to handle heavy load at up to 230400 baud (and probably
> more, but not yet tested).
> The major advantage of this patch is to dramatically reduces the IT rate
> for incoming data bursts.
> The major drawback is its code size (for my target 1500 bytes instead of
> 900).
>
> I am aware that there is a lot of work to make it fully configurable,
> but my concern was mainly the performance (because I use serial line for
> networking).
>
> Some issues about performance:
> EB55 with at91m55800 running at 32 Mhz, and 1WS external 16-bit sram.
> I successfully run io/serial/current/tests/serial3.c :
>  - at 230400 baud
>  - with the 'large packet' code enabled
> During the test the MCU receives 93702 chars and generates 3000
> reception interruptions. This demonstrates the lower IT rate, which
> saves a lot of CPU for the other threads.
>
> happy hacking.

Hi Laurent,

I tested your driver with my application and of course it works. However,
it slows down its operation. I am receiving large amounts of data that is
sent in records.  My primary interest is in bringing the total time required
to transfer a given amount of data to a minimum by maximizing the overlap
between data transfer and processing. Your driver defeats this by delaying
notification of the application until after an entire data record has been
received. Put another way, your driver may reduce overall system load by
reducing the number of interrupts to process, but it also prevents me from
making any use of the resources thus freed - it is only the idle thread
that benefits. If you have to use lower baud rates for some reason, it gets
even worse.

However, you do of course have a point - minimizing system load is always
good, and depending on the nature of the particular application this advantage
may outweigh the speed penalty. Is there any reason why we can't (or 
shouldn't)
have two at91 serial drivers in ecos?

tk
-- 
Thomas Koeller, Software Development

Basler Vision Technologies
An der Strusbek 60-62
22926 Ahrensburg
Germany

Tel +49 (4102) 463-162
Fax +49 (4102) 463-239

mailto:thomas.koeller@baslerweb.com
http://www.baslerweb.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]