Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp455911ybx; Fri, 1 Nov 2019 06:13:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqxPDy6lgqtctGNzQVREsupcr/R/1/AELbo2taxXGGE6JzaxTnPTmTnJ8/CNg27WrkLG3nfw X-Received: by 2002:a17:906:80c1:: with SMTP id a1mr9878548ejx.37.1572613999998; Fri, 01 Nov 2019 06:13:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1572613999; cv=none; d=google.com; s=arc-20160816; b=kfXLsyrbYZb0Tmf8nmgvNSU/elLSktxq+cCc5HvNCRo0aCfQar1Vl6DbfMI0RGlS2T 4EzLrt8IZqvh8qrngfv3dPuAGMdjf4xGvjtWMThpVXfxMgf9HUggiOIc95sqh6CICNk9 JkmccAXZY5oIB5n76Jxx4ECdKyA31luw8SkAWtpgEdmReTbPj9+D1xTo/g+FvhCsSech lf2HVpDi1hx2oPF1WtkAwLBJx9Fh4j7u1LoXxrAiNcWq9uNsmzIXXdmp1VAsVf3D1X4M cGuodejYJTb4mOvWb4rdkGkGX34gS5G8QBjf73WxIGWk0W5++XrDyWv5xhOPSwJxyLXP 9XeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=Q0E2K70/ZzPbjsfKmlFmHf7N3dcY8dk+N7BPWk5DjpU=; b=y273MMmI5AriFIdGUkUUqMVtqVSSQTe3wB/Kp10swadHk8tTmPCBl13v/OtpMIYo7J vsHCazWmL4EM0xC7+rgrR+qO8YPwzd2JdI6ATH6od319gw1t+Fqccvw3p+t51h+lQ1dF fz+aKi8x1G7Ng81eGJH81i8ZVMKi/dZMlTW/smmUDNKP/T0rRDrjpq61O7ICvZPxGOmQ Zdf1W2H9Z6FWcP6WxkbhUmxA13I+qMyGkmVokSBdrorw1jowreYytC8ppg6Qt9FENboj KKlwgy46k0EdRo8rObzYdc8HOg2S8ayIVzpoY6VdyYHqVmUQfFC0/mGsQ/zATlPAEeVI W3xA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b="ck/WAJ+x"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l20si6268068ejz.355.2019.11.01.06.12.53; Fri, 01 Nov 2019 06:13:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@yandex-team.ru header.s=default header.b="ck/WAJ+x"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726913AbfKANLT (ORCPT + 99 others); Fri, 1 Nov 2019 09:11:19 -0400 Received: from forwardcorp1j.mail.yandex.net ([5.45.199.163]:46854 "EHLO forwardcorp1j.mail.yandex.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726846AbfKANLS (ORCPT ); Fri, 1 Nov 2019 09:11:18 -0400 Received: from mxbackcorp2j.mail.yandex.net (mxbackcorp2j.mail.yandex.net [IPv6:2a02:6b8:0:1619::119]) by forwardcorp1j.mail.yandex.net (Yandex) with ESMTP id 973DB2E0EA4; Fri, 1 Nov 2019 16:11:15 +0300 (MSK) Received: from sas2-62907d92d1d8.qloud-c.yandex.net (sas2-62907d92d1d8.qloud-c.yandex.net [2a02:6b8:c08:b895:0:640:6290:7d92]) by mxbackcorp2j.mail.yandex.net (nwsmtp/Yandex) with ESMTP id bPIq8rSMc8-BE0G4dru; Fri, 01 Nov 2019 16:11:15 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1572613875; bh=Q0E2K70/ZzPbjsfKmlFmHf7N3dcY8dk+N7BPWk5DjpU=; h=Message-Id:Date:Subject:To:From:Cc; b=ck/WAJ+xm5SSFTrzVoXPjdi1WVSPfeEm2/r37W/EPao5TLAva3rmDsS3zKMvr5DYw ZRYH8y6AjAf9PiEAiJu19+u3sKmCZA5sUpNBsnOXDALdprdSCLhoUmKnN+kM1CBi1q pSEFNh3qczGcMdD+3cNWHWoL9TJE6gar54eO3gF4= Authentication-Results: mxbackcorp2j.mail.yandex.net; dkim=pass header.i=@yandex-team.ru Received: from 95.108.174.193-red.dhcp.yndx.net (95.108.174.193-red.dhcp.yndx.net [95.108.174.193]) by sas2-62907d92d1d8.qloud-c.yandex.net (nwsmtp/Yandex) with ESMTPSA id fAicdg0lZ4-BEUij5XX; Fri, 01 Nov 2019 16:11:14 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) From: Dmitry Monakhov To: linux-kernel@vger.kernel.org Cc: axboe@kernel.dk, paolo.valente@linaro.org, Dmitry Monakhov Subject: [PATCH] block,bfq: Skip tracing hooks if possible Date: Fri, 1 Nov 2019 13:11:10 +0000 Message-Id: <20191101131110.18356-1-dmonakhov@gmail.com> X-Mailer: git-send-email 2.18.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In most cases blk_tracing is not active, but bfq_log_bfqq macro generate pid_str unconditionally, which result in significant overhead. ## Test modprobe null_blk echo bfq > /sys/block/nullb0/queue/scheduler fio --name=t --ioengine=libaio --direct=1 --filename=/dev/nullb0 \ --runtime=30 --time_based=1 --rw=write --iodepth=128 --bs=4k # Results | | baseline | w/ patch | gain | | iops | 113.19K | 126.42K | +11% | Signed-off-by: Dmitry Monakhov --- block/bfq-iosched.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/block/bfq-iosched.h b/block/bfq-iosched.h index 5d1a519..b320fe9 100644 --- a/block/bfq-iosched.h +++ b/block/bfq-iosched.h @@ -1062,6 +1062,8 @@ struct bfq_group *bfqq_group(struct bfq_queue *bfqq); #define bfq_log_bfqq(bfqd, bfqq, fmt, args...) do { \ char pid_str[MAX_PID_STR_LENGTH]; \ + if (likely(!blk_trace_note_message_enabled((bfqd)->queue))) \ + break; \ bfq_pid_to_str((bfqq)->pid, pid_str, MAX_PID_STR_LENGTH); \ blk_add_cgroup_trace_msg((bfqd)->queue, \ bfqg_to_blkg(bfqq_group(bfqq))->blkcg, \ @@ -1078,6 +1080,8 @@ struct bfq_group *bfqq_group(struct bfq_queue *bfqq); #define bfq_log_bfqq(bfqd, bfqq, fmt, args...) do { \ char pid_str[MAX_PID_STR_LENGTH]; \ + if (likely(!blk_trace_note_message_enabled((bfqd)->queue))) \ + break; \ bfq_pid_to_str((bfqq)->pid, pid_str, MAX_PID_STR_LENGTH); \ blk_add_trace_msg((bfqd)->queue, "bfq%s%c " fmt, pid_str, \ bfq_bfqq_sync((bfqq)) ? 'S' : 'A', \ -- 2.7.4