]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'eth_proto_is_802_3'
authorDavid S. Miller <davem@davemloft.net>
Tue, 5 May 2015 23:24:43 +0000 (19:24 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 May 2015 23:24:43 +0000 (19:24 -0400)
commit777084682829436782d31630e2494c0bb4ad66a4
treede68fd72233395bcf80b7adfa23db77f9ffeaa77
parent96ce2f9a6a204fd7eb3af0695d0cbacccc63db44
parentc44aa5f1a840fd7c50b0e65964c9e7a8a55b438d
Merge branch 'eth_proto_is_802_3'

Alexander Duyck says:

====================
Add eth_proto_is_802_3 to provide improved means of checking Ethertype

This patch series implements and makes use of eth_proto_is_802_3().  The
idea behind the function is to provide an optimized means of testing to
determine if a given Ethertype value is a length or 802.3 protocol number.
The standard path for this was to use ntohs(proto) and then perform a
comparison.  This adds a slight cost as it usually requires either a 16b
rotate or byte swap which can cost 1 cycle or more depending on the
processor.

I had previously addressed this for eth_type_trans, however in doing so I had
overlooked checking with sparse and had introduced a couple sparse warnings.
The first patch in this series fixes those sparse warnings as well as does
some additional optimization for big endian systems.  In addition it pushes
the code out into a separate function which can then be used in the other
patches to reduce the instruction count/processing time in those functions
as well.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>