mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
net: remove skb_orphan_try()
Orphaning skb in dev_hard_start_xmit() makes bonding behavior unfriendly for applications sending big UDP bursts : Once packets pass the bonding device and come to real device, they might hit a full qdisc and be dropped. Without orphaning, the sender is automatically throttled because sk->sk_wmemalloc reaches sk->sk_sndbuf (assuming sk_sndbuf is not too big) We could try to defer the orphaning adding another test in dev_hard_start_xmit(), but all this seems of little gain, now that BQL tends to make packets more likely to be parked in Qdisc queues instead of NIC TX ring, in cases where performance matters. Reverts commits :fc6055a5banet: Introduce skb_orphan_try()87fd308cfcnet: skb_tx_hash() fix relative to skb_orphan_try() and removes SKBTX_DRV_NEEDS_SK_REF flag Reported-and-bisected-by: Jean-Michel Hautbois <[email protected]> Signed-off-by: Eric Dumazet <[email protected]> Tested-by: Oliver Hartkopp <[email protected]> Acked-by: Oliver Hartkopp <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
bc14786a10
commit
62b1a8ab9b
4 changed files with 3 additions and 31 deletions
|
|
@ -372,7 +372,6 @@ static int afiucv_hs_send(struct iucv_message *imsg, struct sock *sock,
|
|||
skb_trim(skb, skb->dev->mtu);
|
||||
}
|
||||
skb->protocol = ETH_P_AF_IUCV;
|
||||
skb_shinfo(skb)->tx_flags |= SKBTX_DRV_NEEDS_SK_REF;
|
||||
nskb = skb_clone(skb, GFP_ATOMIC);
|
||||
if (!nskb)
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
Loading…
Reference in a new issue