diff options
author | Frank Blaschka <frank.blaschka@de.ibm.com> | 2008-04-01 04:26:59 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-16 20:41:41 -0400 |
commit | b403e685b7c57f7912bae36987433e72c616f418 (patch) | |
tree | 2babd00166b0bf56c61a62878d57c8257a7b149a /drivers/s390/net | |
parent | d11ba0c40fa8a21511822efee3be8389f94f0431 (diff) |
qeth: core code should alloc headroom for LLC protocol
Allocate headroom for TR_HLEN but using only ETH_HLEN causes rx
performance degradation. Allocate ETH_HLEN for ethernet and
TR_HLEN for token ring (layer 3 mode).
Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 5cfe0ef7719a..055f5c3e7b56 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c | |||
@@ -4002,7 +4002,11 @@ struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card, | |||
4002 | } | 4002 | } |
4003 | } else { | 4003 | } else { |
4004 | skb_len = (*hdr)->hdr.l3.length; | 4004 | skb_len = (*hdr)->hdr.l3.length; |
4005 | headroom = max((int)ETH_HLEN, (int)TR_HLEN); | 4005 | if ((card->info.link_type == QETH_LINK_TYPE_LANE_TR) || |
4006 | (card->info.link_type == QETH_LINK_TYPE_HSTR)) | ||
4007 | headroom = TR_HLEN; | ||
4008 | else | ||
4009 | headroom = ETH_HLEN; | ||
4006 | } | 4010 | } |
4007 | 4011 | ||
4008 | if (!skb_len) | 4012 | if (!skb_len) |