SDIO Performance once again

Cliff Cai cliffcai.sh at gmail.com
Tue Feb 10 22:36:12 EST 2009


I think this is caused by the mechanism to start a transfer from host to card.
see if_sdio_host_to_card() in if_sdio.c,it uses schedule_work to call
if_sdio_host_to_card_worker()
which start the transfer.

Cliff

On Wed, Feb 11, 2009 at 4:44 AM, Dominik S. Herwald
<lists at dsh-elektronik.de> wrote:
> Robin Getz schrieb:
>> On Mon 9 Feb 2009 08:09, Dominik S. Herwald pondered:
>>
>>> In the meantime I found out that my Problem seems to be related to the
>>> Kernel timer tick of 4ms
>>> (see my second posting on this list with the 4ms frames)...
>>> On Blackfin the Timer tick is set to 250Hz (4ms) by default. If I set it
>>>
>>> to 1000Hz,
>>> performance rises up to 11.2MBit/s performance!
>>>
>>
>> What happens when you select tickless?
>>
>> Select GENERIC_TIME && GENERIC_CLOCKEVENTS && CYCLES_CLOCKSOURCE
>>
>> And it should show up as "Tickless System (Dynamic Ticks)".
>>
>> -Robin
>>
>>
>
> It performs the same (11MBit/s) as with 1000Hz Timer tick.
> On the Scope I can see a 1ms transfer interval instead of 4ms.
> There is still plenty of room in between the transfers on the SDIO Bus...
>
> If I set the Clock to 250Hz while these tickless options are active, the 4ms
> Interval is there again.
>
>
> I had a closer look at the Libertas Code - nearly everywhere in Libertas
> the Kernel Tick
> is only used for timeouts in the range of seconds. I did not see
> anything that could
> affect the transfer.  But I am really no Kernel Driver expert so I may
> have overlooked
> something...
>
> Best regards,
> Dominik
>
>
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
>



More information about the libertas-dev mailing list