From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756394AbbCCEBK (ORCPT ); Mon, 2 Mar 2015 23:01:10 -0500 Received: from smtprelay0252.hostedemail.com ([216.40.44.252]:42661 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754192AbbCCDzw (ORCPT ); Mon, 2 Mar 2015 22:55:52 -0500 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,joe@perches.com,:::,RULES_HIT:41:355:379:541:800:960:973:988:989:1260:1345:1359:1381:1437:1534:1541:1711:1730:1747:1777:1792:2393:2559:2562:3138:3139:3140:3141:3142:3352:3865:5007:6261:10004:10848:11026:11473:11658:11914:12043:12114:12438:12517:12519:12555:13255:13311:13357:14096:14394:21080,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0 X-HE-Tag: hen67_8a6f644100e4b X-Filterd-Recvd-Size: 1780 From: Joe Perches To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net-next 01/14] etherdevice: Add eth__addr CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS code Date: Mon, 2 Mar 2015 19:54:46 -0800 Message-Id: X-Mailer: git-send-email 2.1.2 In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Make the memset possibly more efficient with the appropriate CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS #ifdef Signed-off-by: Joe Perches --- include/linux/etherdevice.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 606563e..22ad94a 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -192,7 +192,12 @@ static inline void eth_random_addr(u8 *addr) */ static inline void eth_broadcast_addr(u8 *addr) { +#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) + *(u32 *)addr = 0xffffffff; + *(u16 *)(addr + 4) = 0xffff; +#else memset(addr, 0xff, ETH_ALEN); +#endif } /** @@ -203,7 +208,12 @@ static inline void eth_broadcast_addr(u8 *addr) */ static inline void eth_zero_addr(u8 *addr) { - memset(addr, 0x00, ETH_ALEN); +#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) + *(u32 *)addr = 0; + *(u16 *)(addr + 4) = 0; +#else + memset(addr, 0, ETH_ALEN); +#endif } /** -- 2.1.2