From patchwork Mon Jul 22 12:25:28 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kazior X-Patchwork-Id: 2831335 Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 8A5279F9CC for ; Mon, 22 Jul 2013 12:25:39 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7466B20160 for ; Mon, 22 Jul 2013 12:25:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 34ADD20107 for ; Mon, 22 Jul 2013 12:25:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752273Ab3GVMZf (ORCPT ); Mon, 22 Jul 2013 08:25:35 -0400 Received: from ebb05.tieto.com ([131.207.168.36]:51904 "EHLO ebb05.tieto.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751395Ab3GVMZe (ORCPT ); Mon, 22 Jul 2013 08:25:34 -0400 X-AuditID: 83cfa824-b7f2e6d000003d95-33-51ed24bc7b42 Received: from FIHGA-EXHUB01.eu.tieto.com ( [131.207.136.34]) by ebb05.tieto.com (SMTP Mailer) with SMTP id B1.62.15765.CB42DE15; Mon, 22 Jul 2013 15:25:32 +0300 (EEST) Received: from uw001058.eu.tieto.com (10.28.19.57) by inbound.tieto.com (131.207.136.49) with Microsoft SMTP Server id 8.3.298.1; Mon, 22 Jul 2013 15:25:32 +0300 From: Michal Kazior To: CC: , Michal Kazior Subject: [PATCH] ath10k: improve tx throughput on slow machines Date: Mon, 22 Jul 2013 14:25:28 +0200 Message-ID: <1374495928-29514-1-git-send-email-michal.kazior@tieto.com> X-Mailer: git-send-email 1.7.9.5 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrAIsWRmVeSWpSXmKPExsXSfL5DSXePyttAg8WTNS0eXTrGbPFmxR12 i29bH7A5MHt8nnmXzWPzknqPz5vkApijuGxSUnMyy1KL9O0SuDL6jyxmKtjEWbFgq0AD4y/2 LkZODgkBE4nLS49A2WISF+6tZ+ti5OIQEljFKLH5528mCGcpo8SBk61gVWwCuhKvGs+ygtgi AgoSvyZ9ZAOxmQV8JZ49WcYEYgsL2EscuvQFrIZFQFVi9dmTYDavgLvE5q1tzF2MHEDbFCTm TLKBCAtKnJz5hAVijITEwRcvmEFsIQEViYPr9zNPYOSbhaRsFpKyBYxMqxj5U5OSDEz1SjJT S/L1kvNzNzGCA2qFyg7Gsw+kDjEKcDAq8fDeDHoTKMSaWFZcmXuIUZKDSUmUd5Hi20AhvqT8 lMqMxOKM+KLSnNTiQ4wSHMxKIryeq4DKeVMSK6tSi/JhUtIcLErivIbr7wUKCaQnlqRmp6YW pBbBZGU4OJQkeEOUgYYKFqWmp1akZeaUIKSZODhBhvMADY8DqeEtLkjMLc5Mh8ifYlSUEueN AUkIgCQySvPgemER/4pRHOgVYd4EkCoeYLKA634FNJgJaLBh62uQwSWJCCmpBkYLmQX3yln2 Sr1ddO6Y9P2zJrelnv7edL7ioME72ZKDAfP7BY7vrNWN0tt+8USMtvFLtaTTi/Sefercy5oy y7ykdiW/zqOv7pcL1p2feneO6OPHguffe2t/uNmSueNHrNlBXq6MvQ2/4+v/zW9trr09V/6e a8QD7oTN3xglZzG3yRxdkpa5pP2OEktxRqKhFnNRcSIAqnMRaNMCAAA= Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP It is more efficient to move just the 802.11 header instead of the whole payload in most cases. This has no measurable effect on modern hardware. It should improve performance by a few percent on hardware such as an Access Point that have a slow CPU compared to a typical desktop CPU. Signed-off-by: Michal Kazior --- drivers/net/wireless/ath/ath10k/mac.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 07e5f7d..6705bc8 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -1383,9 +1383,9 @@ static void ath10k_tx_h_qos_workaround(struct ieee80211_hw *hw, return; qos_ctl = ieee80211_get_qos_ctl(hdr); - memmove(qos_ctl, qos_ctl + IEEE80211_QOS_CTL_LEN, - skb->len - ieee80211_hdrlen(hdr->frame_control)); - skb_trim(skb, skb->len - IEEE80211_QOS_CTL_LEN); + memmove(skb->data + IEEE80211_QOS_CTL_LEN, + skb->data, (void *)qos_ctl - (void *)skb->data); + skb_pull(skb, IEEE80211_QOS_CTL_LEN); } static void ath10k_tx_h_update_wep_key(struct sk_buff *skb)