Re: [PATCH v3 13/19] media: dvb_core: slight optimization of addr compare

2014-01-07 Thread Ding Tianhong
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

2014-01-07 Thread Ding Tianhong
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

2013-12-26 Thread Ding Tianhong
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

2013-12-26 Thread Ding Tianhong
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

2013-12-24 Thread Ding Tianhong
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

2013-12-22 Thread Ding Tianhong
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