From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0966DC43214 for ; Tue, 17 Aug 2021 16:35:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 786C66103A for ; Tue, 17 Aug 2021 16:35:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 786C66103A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id D57F96B0071; Tue, 17 Aug 2021 12:35:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D08B96B0072; Tue, 17 Aug 2021 12:35:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD0638D0001; Tue, 17 Aug 2021 12:35:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0006.hostedemail.com [216.40.44.6]) by kanga.kvack.org (Postfix) with ESMTP id 9F7C96B0071 for ; Tue, 17 Aug 2021 12:35:31 -0400 (EDT) Received: from smtpin31.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 447E817A9E for ; Tue, 17 Aug 2021 16:35:31 +0000 (UTC) X-FDA: 78485123262.31.B84EC5F Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) by imf08.hostedemail.com (Postfix) with ESMTP id E9AAE3000259 for ; Tue, 17 Aug 2021 16:35:30 +0000 (UTC) Received: by mail-qk1-f171.google.com with SMTP id m21so5846598qkm.13 for ; Tue, 17 Aug 2021 09:35:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=X66JXd8TkYUtNgpL3dedMaEApQt+UVVwJJYfA0n1YPg=; b=g4zglayFs+OL2K1Tv5FWDo95NGXXY+tGDfEDov2cEemXLUcWHxppV7kaJhjKlxcOrQ oHuvXm/1NLEueeijcc4k/pdxM6Mcwr6Rl3B3D7wFZy2ccLhUt4vZeoQJfZfhrPomyELx GW+C0UiShHbqj3n/zGjS26Xwp4uQ61Z7LoZVhXIKdcRcj7Sdhe8A3DrLEAc6nInsJUvl dp18hI9oI9+JlQYtUPxQqvz7toBSYsOVPi7y9JftNaV8NSLYZ/DiplGaFcbmP3J6IdzX /fxmtbTG72QjQmjUz5DePLa7WUGZoqPqI4I9C2Rmp2XHKrgJhxvGhIuRvnmdts6lZMbP wyDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=X66JXd8TkYUtNgpL3dedMaEApQt+UVVwJJYfA0n1YPg=; b=b9iljw57E2+HC2/flnIvtCbfbYR9YLvtFQKS4xgStHm/iai7k8O9FX9EaYUDdBGFls 59tcEdg2DpUZTTW9BaHls9wa6XUcgfsh4crKBuhLoCKXM61idNOnFDS0yYSGS+po1wms bi+cU8sRjiRZlP0Vyc4NIT5VwXgxReEkfGP1vDdFjUYXsUr6mKBTlGIgc6DTamYAnGSb p+zE44AH/uTSv1vABoTWWk9DT6/aWO8xWQ6sTj6/EbAyu+VBh51j+7mUB6idii20Js9l GPlTwRRSF7dEj8QQcKQ+smhLLALYfki2uBAZyZmHn5AYoCtUA+zhHxojdjvmF6SVnhr/ OisQ== X-Gm-Message-State: AOAM531LEWspzPTaD69zSsgHHKgxQBwuZB7qcsamWAJiqnCSWhk9JO3q ascY0OWjtR/a4U3kKHKgWEo= X-Google-Smtp-Source: ABdhPJy2J9eIa9r5vu8RSDOAqKg1RDnXqD3PiG96WXh1xZ4GPhHRSNuK2PyNoYNfQalFqu4qZofQxQ== X-Received: by 2002:a37:d54:: with SMTP id 81mr4580109qkn.103.1629218130100; Tue, 17 Aug 2021 09:35:30 -0700 (PDT) Received: from localhost ([12.28.44.171]) by smtp.gmail.com with ESMTPSA id k8sm1584346qkk.96.2021.08.17.09.35.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Aug 2021 09:35:29 -0700 (PDT) Date: Tue, 17 Aug 2021 09:35:28 -0700 From: Yury Norov To: Andy Shevchenko Cc: Andrew Morton , Linux Kernel Mailing List , linux-mm , Linux-Arch , "open list:KERNEL SELFTEST FRAMEWORK" , linux-mmc , linux-perf-users@vger.kernel.org, "open list:VFIO DRIVER" , "James E.J. Bottomley" , Alexander Lobakin , Alexander Shishkin , Alexey Klimov , Andrea Merello , Andy Shevchenko , Arnaldo Carvalho de Melo , Arnd Bergmann , Ben Gardon , Benjamin Herrenschmidt , Brian Cain , Catalin Marinas , Christoph Lameter , Daniel Bristot de Oliveira , David Hildenbrand , Dennis Zhou , Geert Uytterhoeven , Heiko Carstens , Ian Rogers , Ingo Molnar , Jaegeuk Kim , Jakub Kicinski , Jiri Olsa , Joe Perches , Jonas Bonn , Leo Yan , Mark Rutland , Namhyung Kim , Palmer Dabbelt , Paolo Bonzini , Peter Xu , Peter Zijlstra , Petr Mladek , Rasmus Villemoes , Rich Felker , Samuel Mendoza-Jonas , Sean Christopherson , Sergey Senozhatsky , Shuah Khan , Stefan Kristiansson , Steven Rostedt , Tejun Heo , Thomas Bogendoerfer , Ulf Hansson , Will Deacon , Wolfram Sang , Yoshinori Sato Subject: Re: [PATCH 17/17] vsprintf: rework bitmap_list_string Message-ID: References: <20210814211713.180533-1-yury.norov@gmail.com> <20210814211713.180533-18-yury.norov@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: E9AAE3000259 Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20161025 header.b=g4zglayF; spf=pass (imf08.hostedemail.com: domain of yurynorov@gmail.com designates 209.85.222.171 as permitted sender) smtp.mailfrom=yurynorov@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam01 X-Stat-Signature: o3fzqsskmkkz8qs14itfb1ajzksoc93h X-HE-Tag: 1629218130-250870 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sun, Aug 15, 2021 at 02:09:45PM +0300, Andy Shevchenko wrote: > On Sun, Aug 15, 2021 at 12:21 AM Yury Norov wrote: > > > > bitmap_list_string() is very ineffective when printing bitmaps with long > > ranges of set bits because it calls find_next_bit for each bit in the > > bitmap. We can do better by detecting ranges of set bits. > > > > In my environment, before/after is 943008/31008 ns. > > I would add a couple of words, maybe in parentheses, to describe what > your environment is. > > ... > > > + buf = number(++buf, end, rtop - 1, default_dec_spec); > > ++buf is a bit confusing here. Since you will rewrite the buf value > anyway, I would write the parameter as buf + 1. Agree, it's sloppy. I'll send the patch by tomorrow.