Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp1455683pxv; Fri, 23 Jul 2021 08:43:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzKKkGpMKzkHwDYLYU3fC9iPJv17Y/q7CzuRR5xWZ15UCd6JZl1REtqih2pV13TpbxtSdF7 X-Received: by 2002:a5e:dc48:: with SMTP id s8mr4439773iop.133.1627054989215; Fri, 23 Jul 2021 08:43:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627054989; cv=none; d=google.com; s=arc-20160816; b=RepcMYpZ61gMj0WQJ2nDRceFLDTXCOY2vtw19kHthL0NddNrAS8CgMwJT9uaJ919hF XuFmHP56/hcvGeGdYFpSfhAI3rLPZ4cqCmDJXPHtHLZSPrsvUV2jRZWOHUet7q1s3U4L L1qT0Vsj8D39+7l78k7nbG80j0EOIzm7UCEqGv3BTdxQHsR/jcH0Txz9zmbOM2nFvv0q 0Mlvj18/GkUnfYsWRtQ3/S6w4w/9iuZDN3Q2Q12XupwKAfJv+GzFcogMfi+TgeSJe/f0 BaGo3PJWJuXAKRNbBscofy9B4vzapmHDUHRCjyutBclQsFjreH9aJv/PwiQLWuDp0nMy JDfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=OS/DFI9JYKN/5s+Y6muiTSwrmx5jiynIM50NrhZssiU=; b=a8bBkQdA05xPqzAWMIgw7Xgdydh/vgCEnBdSM3RaymhH+rGD/xFW3Wr1dq9lgqwbH4 Kx0Zmwv8S3qB8fr+AieS/pY82n+wc1/NtPyt7XiDW7MQZWJKE5bXIvmP5GWQEMHC2hQV f6jzuFAjyiOD6jo3Bp5NBAReyS/RB4bfVswo74zBRUmASpXFnwJwfFWqjfMO/REe/dZM TH2vtbh6T7MS79OoMFlyyaerZ6iM0uv4iMeA26TJaQ6Bs+r/eHsNDtomu+E7T840q6oj YuaaKpS+P2AhsOxCXEGUv945ViDPCqyauDNR1lesTPjtVWWHSRVAtNvANOVSh5x1F7pO 7fcg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b69si36143004jai.66.2021.07.23.08.42.57; Fri, 23 Jul 2021 08:43:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235470AbhGWPBX (ORCPT + 99 others); Fri, 23 Jul 2021 11:01:23 -0400 Received: from smtp05.smtpout.orange.fr ([80.12.242.127]:49839 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235472AbhGWPBW (ORCPT ); Fri, 23 Jul 2021 11:01:22 -0400 Received: from localhost.localdomain ([80.15.159.30]) by mwinf5d09 with ME id Yfhu2500B0feRjk03fhu3D; Fri, 23 Jul 2021 17:41:55 +0200 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Fri, 23 Jul 2021 17:41:55 +0200 X-ME-IP: 80.15.159.30 From: Christophe JAILLET To: jikos@kernel.org, benjamin.tissoires@redhat.com Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] HID: logitech-hidpp: Use 'atomic_inc_return' instead of hand-writing it Date: Fri, 23 Jul 2021 17:41:52 +0200 Message-Id: <1091bc38881086be28d561adca042caba234f3f2.1627054657.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This function logs a warning if the workqueue gets too big. In order to save a few cycles, use 'atomic_inc_return()' instead of an 'atomic_inc()/atomic_read()' sequence. This axes a line of code and saves a 'atomic_read()' call. Signed-off-by: Christophe JAILLET --- drivers/hid/hid-logitech-hidpp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 61635e629469..a7fa35245c2e 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c @@ -2240,11 +2240,10 @@ static int hidpp_ff_queue_work(struct hidpp_ff_private_data *data, int effect_id wd->size = size; memcpy(wd->params, params, size); - atomic_inc(&data->workqueue_size); + s = atomic_inc_return(&data->workqueue_size); queue_work(data->wq, &wd->work); /* warn about excessive queue size */ - s = atomic_read(&data->workqueue_size); if (s >= 20 && s % 20 == 0) hid_warn(data->hidpp->hid_dev, "Force feedback command queue contains %d commands, causing substantial delays!", s); -- 2.30.2