Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3824207ybb; Tue, 31 Mar 2020 12:43:54 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuEcACncgbDEJbX2ybsv+jLVCq9Qd3IMlhc7tD2Os2G2fYDI9fz3Iak3mpb3+PLU26LR99f X-Received: by 2002:a9d:19ca:: with SMTP id k68mr14559839otk.232.1585683834409; Tue, 31 Mar 2020 12:43:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585683834; cv=none; d=google.com; s=arc-20160816; b=S7wc4ysChEibw2I8rR1d+kg6Fwq6UPDoKPPo8k45lz80BJsJkXFk1AecstGwBTEiKJ rM0AhKHFDK2zUlBiBHUXnrEks63/VeSQIYPbAzuSyXhuu+Y/33xV6ugDB3XVqH7JVbJc BnT8eDSu5iy8OTt1zNzXHcUmW5LWBZpuTDeLMSdEqJJSRuEjZ6zSy0YMtRbN85+OAC+S MIv2sBeefqnnXmzcXTAUZTmjwIPkBszdzzFdjRET18JUIxWReI5c3a5JaUKRmzZ62cxz TcG1+/mqjXJRs8n6TtsBp2DiD4IkBYImbifBz/WGTfrPsSRwO5/L8Fioa91csnru1Ugy 0tzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=HFZna7B6g1qQUnAQTOaaX3bdubKi7WXs6HzJfhZe8E4=; b=URma1Ys9iuaF9Ufa4tF0pXwF/1w+ywOx4CWAWtNQWIS729qYLHXJ6Q3wib1kLHSXHZ ivzc0ZuP6CBM4SQlGLWy6MKlOB0YOizWKbJ55eZVscKQRZpE/CTSeMlcoCFkV2A5klLT 0UwUQ5E7z7s8FlOPnhzsmTjbWlYR3kmKCLqPGE7aYJIR8limxecOVUeWIU//2Kf/oWM8 LCZKZ1P8us+pm8JPCd7ny5hzIptY/27Cgh/GYsHmTVyatG6TZvacCHcQa5XuuUtYL8JM 1ow6ApKAzDY7pzcGF1VGyO8646yorehDPO9C/il+lGgSGafepBoSS+XqlLoqNwIAb0Sw swhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=TcGP1kiF; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i24si4130669otp.231.2020.03.31.12.43.38; Tue, 31 Mar 2020 12:43:54 -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=temperror (no key for signature) header.i=@szeredi.hu header.s=google header.b=TcGP1kiF; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729368AbgCaTnB (ORCPT + 99 others); Tue, 31 Mar 2020 15:43:01 -0400 Received: from mail-ed1-f68.google.com ([209.85.208.68]:42254 "EHLO mail-ed1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728187AbgCaTnB (ORCPT ); Tue, 31 Mar 2020 15:43:01 -0400 Received: by mail-ed1-f68.google.com with SMTP id cw6so25927993edb.9 for ; Tue, 31 Mar 2020 12:43:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szeredi.hu; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HFZna7B6g1qQUnAQTOaaX3bdubKi7WXs6HzJfhZe8E4=; b=TcGP1kiFt9TdcQCMN/6cHIEa8mw5mBMiYAgzq5W5XMfO9Pplrw2mgTSH95iHFkjugK VNgA55P4+EMCWXOZlJVe9vEBju8ag+gGELwv3TPDpBljOsqJNv1dgIaIsLKdA7RG6BnN 3sTGVsH3VMr2PFu+Gs2kiwF6gEq9MgmoG35qY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HFZna7B6g1qQUnAQTOaaX3bdubKi7WXs6HzJfhZe8E4=; b=qIVC5r4Jg6ZWfnru32xEeH/Hojw2tqTBOx6+7NafTzH6Jl/Tq1EMsyBZ/ZhhTfB31C MFOaDTCf1JEmulc8ZINCI6qWnvJC00M7v9v/AwhRrrvuDVO+JpJFcg7tvw8zRCpwEo0r 1lzJi7lLyrYQt1c+b7tl6xiM086nM8GEZnzw9TemqKpnk9LMhz4PdVTCmmPjReaGSfHP 9oBvcWnTbF1hiLpozKi7KuB/A2VOp2qVtuWvjMqSDH/OKyvgQc3quB3zDOxfnEF4f7FF mkM5Q0bIyMnVrCDhnGfBRlxBA2jZ8aMVqzB9AffaIJrWfz1yJ69TXhiyAenh7T3Njc3O xNCQ== X-Gm-Message-State: ANhLgQ3XHNWtMGSXsfqOZ7Y6GXMuCaDpAOTnPSp35+x84zTnT4AW4CZq 8aukWV3r2sjVVHasEIHnvgJgf9Cwrt9UiKBY7kfuGw== X-Received: by 2002:aa7:cfd4:: with SMTP id r20mr17351970edy.378.1585683779811; Tue, 31 Mar 2020 12:42:59 -0700 (PDT) MIME-Version: 1.0 References: <1445647.1585576702@warthog.procyon.org.uk> <2294742.1585675875@warthog.procyon.org.uk> In-Reply-To: <2294742.1585675875@warthog.procyon.org.uk> From: Miklos Szeredi Date: Tue, 31 Mar 2020 21:42:48 +0200 Message-ID: Subject: Re: Upcoming: Notifications, FS notifications and fsinfo() To: David Howells Cc: Linus Torvalds , Al Viro , dray@redhat.com, Karel Zak , Miklos Szeredi , Steven Whitehouse , Jeff Layton , Ian Kent , andres@anarazel.de, Christian Brauner , Lennart Poettering , keyrings@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 31, 2020 at 7:31 PM David Howells wrote: > > Miklos Szeredi wrote: > > > The basic problem in my view, is that the performance requirement of a > > "get filesystem information" type of API just does not warrant a > > binary coded interface. I've said this a number of times, but it fell > > on deaf ears. > > It hasn't so fallen, but don't necessarily agree with you. Let's pin some > numbers on this. Cool, thanks for testing. Unfortunately the test-fsinfo-perf.c file didn't make it into the patch. Can you please refresh and resend? > Okay, the results: > > For 1000 mounts, f= 1514us f2= 1102us p= 6014us p2= 6935us; p=4.0*f p=5.5*f2 p=0.9*p2 > For 2000 mounts, f= 4712us f2= 3675us p= 20937us p2= 22878us; p=4.4*f p=5.7*f2 p=0.9*p2 > For 3000 mounts, f= 6795us f2= 5304us p= 31080us p2= 34056us; p=4.6*f p=5.9*f2 p=0.9*p2 > For 4000 mounts, f= 9291us f2= 7434us p= 40723us p2= 46479us; p=4.4*f p=5.5*f2 p=0.9*p2 > For 5000 mounts, f=11423us f2= 9219us p= 50878us p2= 58857us; p=4.5*f p=5.5*f2 p=0.9*p2 > For 10000 mounts, f=22899us f2=18240us p=101054us p2=117273us; p=4.4*f p=5.5*f2 p=0.9*p2 > For 20000 mounts, f=45811us f2=37211us p=203640us p2=237377us; p=4.4*f p=5.5*f2 p=0.9*p2 > For 30000 mounts, f=69703us f2=54800us p=306778us p2=357629us; p=4.4*f p=5.6*f2 p=0.9*p2 So even the p2 method will give at least 80k queries/s, which is quite good, considering that the need to rescan the complete mount tree should be exceedingly rare (and in case it mattered, could be optimized by priming from /proc/self/mountinfo). Thanks, Miklos