2009-04-07 09:15:32

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH 2/2 resend] libata-sff: avoid byte swapping in ata_sff_data_xfer()

Hello, I wrote:

> Handling of the trailing byte in ata_sff_data_xfer() is suboptimal bacause:
>
> - it always initializes the padding buffer to 0 which is not really needed in
> both the read and write cases;
>
> - it has to use memcpy() to transfer a single byte from/to the padding buffer;
>
> - it uses io{read|write}16() accessors which swap bytes on the big endian CPUs
> and so have to additionally convert the data from/to the little endian format
> instead of using io{read|write}16_rep() accessors which are not supposed to
> change the byte ordering.
>
> Signed-off-by: Sergei Shtylyov <[email protected]>

Jeff, have you forgotten about this one?

MBR, Sergei


2009-06-01 19:30:08

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH 2/2 resend] libata-sff: avoid byte swapping in ata_sff_data_xfer()

Hello, I wrote:

>> Handling of the trailing byte in ata_sff_data_xfer() is suboptimal
>> bacause:

>> - it always initializes the padding buffer to 0 which is not really
>> needed in
>> both the read and write cases;

>> - it has to use memcpy() to transfer a single byte from/to the padding
>> buffer;

>> - it uses io{read|write}16() accessors which swap bytes on the big
>> endian CPUs
>> and so have to additionally convert the data from/to the little
>> endian format
>> instead of using io{read|write}16_rep() accessors which are not
>> supposed to
>> change the byte ordering.
>>
>> Signed-off-by: Sergei Shtylyov <[email protected]>

> Jeff, have you forgotten about this one?

PING.

MBR, Sergei

2009-06-11 18:20:04

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 2/2 resend] libata-sff: avoid byte swapping in ata_sff_data_xfer()

Sergei Shtylyov wrote:
> Hello, I wrote:
>
>>> Handling of the trailing byte in ata_sff_data_xfer() is suboptimal
>>> bacause:
>
>>> - it always initializes the padding buffer to 0 which is not really
>>> needed in
>>> both the read and write cases;
>
>>> - it has to use memcpy() to transfer a single byte from/to the
>>> padding buffer;
>
>>> - it uses io{read|write}16() accessors which swap bytes on the big
>>> endian CPUs
>>> and so have to additionally convert the data from/to the little
>>> endian format
>>> instead of using io{read|write}16_rep() accessors which are not
>>> supposed to
>>> change the byte ordering.
>>>
>>> Signed-off-by: Sergei Shtylyov <[email protected]>
>
>> Jeff, have you forgotten about this one?
>
> PING.

This has been queued to libata-dev.git#upstream, i.e. linux-next queue,
for a long time. Apologies if I forgot the 'applied' reply.

Just sent this upstream, as linux-ide should show.

Jeff



2009-06-11 18:26:40

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH 2/2 resend] libata-sff: avoid byte swapping in ata_sff_data_xfer()

Hello.

Jeff Garzik wrote:

>> Hello, I wrote:

>>>> Handling of the trailing byte in ata_sff_data_xfer() is suboptimal
>>>> bacause:

>>>> - it always initializes the padding buffer to 0 which is not really
>>>> needed in
>>>> both the read and write cases;

>>>> - it has to use memcpy() to transfer a single byte from/to the
>>>> padding buffer;

>>>> - it uses io{read|write}16() accessors which swap bytes on the big
>>>> endian CPUs
>>>> and so have to additionally convert the data from/to the little
>>>> endian format
>>>> instead of using io{read|write}16_rep() accessors which are not
>>>> supposed to
>>>> change the byte ordering.
>>>>
>>>> Signed-off-by: Sergei Shtylyov <[email protected]>

>>> Jeff, have you forgotten about this one?

>> PING.

> This has been queued to libata-dev.git#upstream, i.e. linux-next queue,

Ah, haven't looked there, so it appeared as forgotten since I know you
usually reply with 'applied'.

> for a long time. Apologies if I forgot the 'applied' reply.

> Just sent this upstream, as linux-ide should show.

Thanks. I began to think of reworking it to avoid even io*_rep() as per
my followup mail and resending... well, it's good enogh as is. :-)

> Jeff

MBR, Sergei