RE: [PATCH 2.6.34-rc6] net: Improve ks8851 snl transmit performance

From: Ha, Tristram
Date: Mon May 24 2010 - 13:28:55 EST


David Miller wrote:
> From: "Ha, Tristram" <Tristram.Ha@xxxxxxxxxx>
> Date: Thu, 6 May 2010 15:50:27 -0700
>
>> From: Tristram Ha <Tristram.Ha@xxxxxxxxxx>
>>
>> Under heavy transmission the driver will put 4 1514-byte packets in
>> queue and stop the device transmit queue. Only the last packet
>> triggers the transmit done interrupt and wakes up the device transmit
>> queue. That means a bit of time is wasted when the CPU cannot send
>> any more packet.
>>
>> The new implementation triggers the transmit interrupt when the
>> transmit buffer left is less than 3 packets. The maximum transmit
>> buffer size is 6144 bytes. This allows the device transmit queue to
>> be restarted sooner so that CPU can send more packets.
>>
>> For TCP receiving it also has the benefit of not triggering any
transmit interrupt at all.
>>
>> There is a driver option no_tx_opt so that the driver can revert to
>> original implementation. This allows user to verify if the transmit
>> performance actually improves.
>>
>> Signed-off-by: Tristram Ha <Tristram.Ha@xxxxxxxxxx>
>
> First, if you want to post patches you have to format them properly as
ascii text with no longer
> than 80 column lines in your commit message.
> I really don't want to hear about your email client being a reason you
can't do this properly :-)
>
> Second, I don't think you can use the skb->ip_summed for this hacked
state tracking you are
> using. The packet might be shared with other entities, and therefore
if you change the field it
> won't be correct for them any more.

Sorry about the patch description. I must have forgotten the rules.

As the socket buffer is accepted by the lowest level network driver and
reaches the end of its life, I think using one of its variables
temporarily does not cause any harm.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/