Re: [PATCH v3 13/19] media: dvb_core: slight optimization of addr compare
On 2014/1/7 21:54, Mauro Carvalho Chehab wrote: Em Thu, 26 Dec 2013 19:09:10 +0800 Ding Tianhong dingtianh...@huawei.com escreveu: On 2013/12/25 18:57, Sergei Shtylyov wrote: Hello. On 25-12-2013 7:29, Ding Tianhong wrote: Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com --- drivers/media/dvb-core/dvb_net.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..3dfc33b 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { -if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) +if(ether_addr_equal(eth-h_dest,dev-broadcast)) There should be space after comma. @@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ -if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { +if (!ether_addr_equal(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; -for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) +for(i = 0; i priv-multi_num !ether_addr_equal(priv-ule_skb-data, priv-multi_macs[i]); i++) Shouldn't this line be broken? ok, thanks. Also, since you're touching on those lines, could you please add an space after 'if' (on the first hunk) and after 'for' (on the second one)? Ok, thanks Regards Ding Regards ; if (i == priv-multi_num) drop = 1; WBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Thanks, Mauro . -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v3.6 13/19] media: dvb_core: slight optimization of addr compare
Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com Acked-by: Mauro Carvalho Chehab m.che...@samsung.com --- drivers/media/dvb-core/dvb_net.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..8a86b30 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { - if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) + if (ether_addr_equal(eth-h_dest,dev-broadcast)) skb-pkt_type=PACKET_BROADCAST; else skb-pkt_type=PACKET_MULTICAST; @@ -674,11 +674,13 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ - if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { + if (!ether_addr_equal(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; - for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) + for (i = 0; i priv-multi_num + !ether_addr_equal(priv-ule_skb-data, + priv-multi_macs[i]); i++) ; if (i == priv-multi_num) drop = 1; @@ -688,7 +690,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) } /* else: broadcast */ } - else if (memcmp(priv-ule_skb-data, dev-dev_addr, ETH_ALEN)) + else if (!ether_addr_equal(priv-ule_skb-data, dev-dev_addr)) drop = 1; /* else: destination address matches the MAC address of our receiver device */ } -- 1.8.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v3 13/19] media: dvb_core: slight optimization of addr compare
On 2013/12/25 18:57, Sergei Shtylyov wrote: Hello. On 25-12-2013 7:29, Ding Tianhong wrote: Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com --- drivers/media/dvb-core/dvb_net.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..3dfc33b 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { -if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) +if(ether_addr_equal(eth-h_dest,dev-broadcast)) There should be space after comma. @@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ -if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { +if (!ether_addr_equal(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; -for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) +for(i = 0; i priv-multi_num !ether_addr_equal(priv-ule_skb-data, priv-multi_macs[i]); i++) Shouldn't this line be broken? ok, thanks. Regards ; if (i == priv-multi_num) drop = 1; WBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v3.5 13/19] media: dvb_core: slight optimization of addr compare
Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com --- drivers/media/dvb-core/dvb_net.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..8a86b30 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { - if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) + if(ether_addr_equal(eth-h_dest,dev-broadcast)) skb-pkt_type=PACKET_BROADCAST; else skb-pkt_type=PACKET_MULTICAST; @@ -674,11 +674,13 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ - if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { + if (!ether_addr_equal(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; - for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) + for(i = 0; i priv-multi_num + !ether_addr_equal(priv-ule_skb-data, + priv-multi_macs[i]); i++) ; if (i == priv-multi_num) drop = 1; @@ -688,7 +690,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) } /* else: broadcast */ } - else if (memcmp(priv-ule_skb-data, dev-dev_addr, ETH_ALEN)) + else if (!ether_addr_equal(priv-ule_skb-data, dev-dev_addr)) drop = 1; /* else: destination address matches the MAC address of our receiver device */ } -- 1.8.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2 14/20] media: dvb_core: slight optimization of addr compare
Use possibly more efficient ether_addr_equal instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com --- drivers/media/dvb-core/dvb_net.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..3dfc33b 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { - if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) + if(ether_addr_equal(eth-h_dest,dev-broadcast)) skb-pkt_type=PACKET_BROADCAST; else skb-pkt_type=PACKET_MULTICAST; @@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ - if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { + if (!ether_addr_equal(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; - for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) + for(i = 0; i priv-multi_num !ether_addr_equal(priv-ule_skb-data, priv-multi_macs[i]); i++) ; if (i == priv-multi_num) drop = 1; @@ -688,7 +688,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) } /* else: broadcast */ } - else if (memcmp(priv-ule_skb-data, dev-dev_addr, ETH_ALEN)) + else if (!ether_addr_equal(priv-ule_skb-data, dev-dev_addr)) drop = 1; /* else: destination address matches the MAC address of our receiver device */ } -- 1.8.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 10/21] media: dvb_core: slight optimization of addr compare
Use the recently added and possibly more efficient ether_addr_equal_unaligned to instead of memcmp. Cc: Mauro Carvalho Chehab m.che...@samsung.com Cc: linux-media@vger.kernel.org Cc: linux-ker...@vger.kernel.org Signed-off-by: Yang Yingliang yangyingli...@huawei.com Signed-off-by: Ding Tianhong dingtianh...@huawei.com --- drivers/media/dvb-core/dvb_net.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/media/dvb-core/dvb_net.c b/drivers/media/dvb-core/dvb_net.c index f91c80c..ff00f97 100644 --- a/drivers/media/dvb-core/dvb_net.c +++ b/drivers/media/dvb-core/dvb_net.c @@ -179,7 +179,7 @@ static __be16 dvb_net_eth_type_trans(struct sk_buff *skb, eth = eth_hdr(skb); if (*eth-h_dest 1) { - if(memcmp(eth-h_dest,dev-broadcast, ETH_ALEN)==0) + if(ether_addr_equal_unaligned(eth-h_dest, dev-broadcast)) skb-pkt_type=PACKET_BROADCAST; else skb-pkt_type=PACKET_MULTICAST; @@ -674,11 +674,11 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) if (priv-rx_mode != RX_MODE_PROMISC) { if (priv-ule_skb-data[0] 0x01) { /* multicast or broadcast */ - if (memcmp(priv-ule_skb-data, bc_addr, ETH_ALEN)) { + if (!ether_addr_equal_unaligned(priv-ule_skb-data, bc_addr)) { /* multicast */ if (priv-rx_mode == RX_MODE_MULTI) { int i; - for(i = 0; i priv-multi_num memcmp(priv-ule_skb-data, priv-multi_macs[i], ETH_ALEN); i++) + for(i = 0; i priv-multi_num !ether_addr_equal_unaligned(priv-ule_skb-data, priv-multi_macs[i]); i++) ; if (i == priv-multi_num) drop = 1; @@ -688,7 +688,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len ) } /* else: broadcast */ } - else if (memcmp(priv-ule_skb-data, dev-dev_addr, ETH_ALEN)) + else if (!ether_addr_equal_unaligned(priv-ule_skb-data, dev-dev_addr)) drop = 1; /* else: destination address matches the MAC address of our receiver device */ } @@ -837,7 +837,7 @@ static void dvb_net_sec(struct net_device *dev, } if (pkt[5] 0x02) { /* handle LLC/SNAP, see rfc-1042 */ - if (pkt_len 24 || memcmp(pkt[12], \xaa\xaa\x03\0\0\0, 6)) { + if (pkt_len 24 || !ether_addr_equal_unaligned(pkt[12], \xaa\xaa\x03\0\0\0)) { stats-rx_dropped++; return; } -- 1.8.0 -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html