Return-path: Received: from arrakis.dune.hu ([78.24.191.176]:43412 "EHLO arrakis.dune.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755347AbbLPUfK (ORCPT ); Wed, 16 Dec 2015 15:35:10 -0500 Subject: Re: [PATCH] ath10k: add modparam 'hw_csum' to make HW checksum configurable To: Peter Oh , Peter Oh , ath10k@lists.infradead.org References: <1450290051-15593-1-git-send-email-poh@qca.qualcomm.com> <5671AD10.70004@openwrt.org> <5671C99A.703@codeaurora.org> Cc: linux-wireless@vger.kernel.org From: Felix Fietkau Message-ID: <5671CAF5.6010606@openwrt.org> (sfid-20151216_213514_060806_6ACE6724) Date: Wed, 16 Dec 2015 21:35:01 +0100 MIME-Version: 1.0 In-Reply-To: <5671C99A.703@codeaurora.org> Content-Type: text/plain; charset=utf-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On 2015-12-16 21:29, Peter Oh wrote: > > On 12/16/2015 10:27 AM, Felix Fietkau wrote: >> On 2015-12-16 19:20, Peter Oh wrote: >>> Some hardwares such as QCA988X and QCA99X0 doesn't have >>> capability of checksum offload when frame formats are not >>> suitable for it such as Mesh frame. >>> Hence add a module parameter, hw_csum, to make checksum offload >>> configurable during module registration time. >>> >>> Signed-off-by: Peter Oh >> How about instead of inventing yet another crappy module parameter, you >> call skb_checksum_help() in the driver in cases where the hardware is >> unable to offload the checksum calculation. >> >> That way the user has to worry about less driver specific hackery ;) > That will be good option for hardware not supporting HW checksum, but I > mind that using the function will add more workload per every packet on > critical data path when HW supports checksum resulting in throughput down. I didn't mean calling it for every single frame in the data path. What I'm suggesting is calling it selectively only for mesh frames, or any other frames that the hardware cannot offload, and leaving the rest for the hardware to process. There should be no performance difference between disabling checksum offload and calling skb_checksum_help from the driver. - Felix