Re: [PATCH] i2c: i2c-s3c2410: Remove recently introduced performance overheads

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 21, 2012 at 1:08 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
> On Tue, Nov 20, 2012 at 8:12 PM, Mark Brown
> <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>> The changes in "i2c-s3c2410: use exponential back off while polling for
>> bus idle" remove the initial busy wait for I2C transfers to complete and
>> replace it with usleep_range() calls which will schedule.
>>
>> Since for older SoCs I2C transfers would usually complete within an
>> extremely small number of CPU cycles there is a win from not having to
>> schedule.  This happens because on the older SoCs the cores run at a
>> smaller multiple of the speeds that the I2C bus is operating at; on more
>> modern SoCs the busy wait is less likely to be effective.
>>
>> Fix the issue by restoring the busy wait, reducing the number of spins
>> from 20 to 3 which covers the overwhelming majority of I2C transfers on
>> the SoCs where the busy wait is effective.
>>
>> Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
>
> Acked-by: Olof Johansson <olof@xxxxxxxxx>

Reviewed-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx>

>
> -Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux