* [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
@ 2013-12-20 0:24 Nithin Nayak Sujir
2013-12-20 0:38 ` Eric Dumazet
2013-12-20 0:41 ` Eric Dumazet
0 siblings, 2 replies; 5+ messages in thread
From: Nithin Nayak Sujir @ 2013-12-20 0:24 UTC (permalink / raw)
To: davem; +Cc: netdev, Nithin Nayak Sujir, stable, Michael Chan
The current driver assumes that an skb fragment can only be upto jumbo
size. Presumably this was a fast-path optimization. This assumption is
no longer true as fragments can be upto 32k.
Cc: stable@vger•kernel.org
Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom•com>
Signed-off-by: Michael Chan <mchan@broadcom•com>
---
drivers/net/ethernet/broadcom/tg3.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
index f3dd93b..8ab21d7 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
@@ -7622,7 +7622,7 @@ static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len)
{
u32 base = (u32) mapping & 0xffffffff;
- return (base > 0xffffdcc0) && (base + len + 8 < base);
+ return (base + len + 8 < base);
}
/* Test for TSO DMA buffers that cross into regions which are within MSS bytes
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
2013-12-20 0:24 [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size Nithin Nayak Sujir
@ 2013-12-20 0:38 ` Eric Dumazet
2013-12-20 1:33 ` Nithin Nayak Sujir
2013-12-20 0:41 ` Eric Dumazet
1 sibling, 1 reply; 5+ messages in thread
From: Eric Dumazet @ 2013-12-20 0:38 UTC (permalink / raw)
To: Nithin Nayak Sujir; +Cc: davem, netdev, stable, Michael Chan
On Thu, 2013-12-19 at 16:24 -0800, Nithin Nayak Sujir wrote:
> The current driver assumes that an skb fragment can only be upto jumbo
> size. Presumably this was a fast-path optimization. This assumption is
> no longer true as fragments can be upto 32k.
>
> Cc: stable@vger•kernel.org
> Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom•com>
> Signed-off-by: Michael Chan <mchan@broadcom•com>
> ---
> drivers/net/ethernet/broadcom/tg3.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index f3dd93b..8ab21d7 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -7622,7 +7622,7 @@ static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len)
> {
> u32 base = (u32) mapping & 0xffffffff;
>
> - return (base > 0xffffdcc0) && (base + len + 8 < base);
> + return (base + len + 8 < base);
> }
And it is actually faster ;)
What is 8 value exactly ?
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
2013-12-20 0:38 ` Eric Dumazet
@ 2013-12-20 1:33 ` Nithin Nayak Sujir
0 siblings, 0 replies; 5+ messages in thread
From: Nithin Nayak Sujir @ 2013-12-20 1:33 UTC (permalink / raw)
To: Eric Dumazet; +Cc: davem, netdev, stable, Michael Chan
>> - return (base > 0xffffdcc0) && (base + len + 8 < base);
>> + return (base + len + 8 < base);
>> }
>
> And it is actually faster ;)
>
> What is 8 value exactly ?
>
>
Some older devices needed to be at least 8 bytes away from the boundary. For
simplicity we use the same check for all devices.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
2013-12-20 0:24 [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size Nithin Nayak Sujir
2013-12-20 0:38 ` Eric Dumazet
@ 2013-12-20 0:41 ` Eric Dumazet
2013-12-20 1:35 ` Nithin Nayak Sujir
1 sibling, 1 reply; 5+ messages in thread
From: Eric Dumazet @ 2013-12-20 0:41 UTC (permalink / raw)
To: Nithin Nayak Sujir; +Cc: davem, netdev, stable, Michael Chan
On Thu, 2013-12-19 at 16:24 -0800, Nithin Nayak Sujir wrote:
> The current driver assumes that an skb fragment can only be upto jumbo
> size. Presumably this was a fast-path optimization. This assumption is
> no longer true as fragments can be upto 32k.
>
> Cc: stable@vger•kernel.org
> Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom•com>
> Signed-off-by: Michael Chan <mchan@broadcom•com>
> ---
> drivers/net/ethernet/broadcom/tg3.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
> index f3dd93b..8ab21d7 100644
> --- a/drivers/net/ethernet/broadcom/tg3.c
> +++ b/drivers/net/ethernet/broadcom/tg3.c
> @@ -7622,7 +7622,7 @@ static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len)
> {
> u32 base = (u32) mapping & 0xffffffff;
>
> - return (base > 0xffffdcc0) && (base + len + 8 < base);
> + return (base + len + 8 < base);
> }
>
> /* Test for TSO DMA buffers that cross into regions which are within MSS bytes
btw this is also :
return base + len + 8 < base;
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size.
2013-12-20 0:41 ` Eric Dumazet
@ 2013-12-20 1:35 ` Nithin Nayak Sujir
0 siblings, 0 replies; 5+ messages in thread
From: Nithin Nayak Sujir @ 2013-12-20 1:35 UTC (permalink / raw)
To: Eric Dumazet; +Cc: davem, netdev, stable, Michael Chan
On 12/19/2013 04:41 PM, Eric Dumazet wrote:
> On Thu, 2013-12-19 at 16:24 -0800, Nithin Nayak Sujir wrote:
>> The current driver assumes that an skb fragment can only be upto jumbo
>> size. Presumably this was a fast-path optimization. This assumption is
>> no longer true as fragments can be upto 32k.
>>
>> Cc: stable@vger•kernel.org
>> Signed-off-by: Nithin Nayak Sujir <nsujir@broadcom•com>
>> Signed-off-by: Michael Chan <mchan@broadcom•com>
>> ---
>> drivers/net/ethernet/broadcom/tg3.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
>> index f3dd93b..8ab21d7 100644
>> --- a/drivers/net/ethernet/broadcom/tg3.c
>> +++ b/drivers/net/ethernet/broadcom/tg3.c
>> @@ -7622,7 +7622,7 @@ static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len)
>> {
>> u32 base = (u32) mapping & 0xffffffff;
>>
>> - return (base > 0xffffdcc0) && (base + len + 8 < base);
>> + return (base + len + 8 < base);
>> }
>>
>> /* Test for TSO DMA buffers that cross into regions which are within MSS bytes
>
> btw this is also :
>
> return base + len + 8 < base;
>
>
>
I'll send a v2.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-12-20 1:35 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-20 0:24 [PATCH net] tg3: Expand 4g_overflow_test workaround to skb fragments of any size Nithin Nayak Sujir
2013-12-20 0:38 ` Eric Dumazet
2013-12-20 1:33 ` Nithin Nayak Sujir
2013-12-20 0:41 ` Eric Dumazet
2013-12-20 1:35 ` Nithin Nayak Sujir
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox