Received: by 2002:a05:7412:ba23:b0:fa:4c10:6cad with SMTP id jp35csp233100rdb; Thu, 18 Jan 2024 01:44:59 -0800 (PST) X-Google-Smtp-Source: AGHT+IFzzZglKNsDuwVWYSQTlFmq3L/5ypoy+s5eFKisb6z9ywNXmGyLsAelzB8XOc3R3t7zArbg X-Received: by 2002:a17:90b:1e0e:b0:28e:8948:7e3e with SMTP id pg14-20020a17090b1e0e00b0028e89487e3emr450757pjb.2.1705571099297; Thu, 18 Jan 2024 01:44:59 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1705571099; cv=pass; d=google.com; s=arc-20160816; b=kZQ03Rxg8RdTDzbj5DypefoNANAH7MaDKk2A6xSB8MQUZBSwIkPwkml4scGdiHyCa0 8qsxAoN+68v6BtLehnMZVXWnfYFZ7GIlLP9G35uFgZuR70rTo0nUFshGYdi124ODD5mV Ogndu1SKtKWEMEWW9OgLNDeVxN4JVY2pX8LVlCyWwPTghODklhw0x5Ahs6CLUEOwK0M3 FwEmsMu58bbKlJyRajls31HSnDfgRfnaT0xpuk1NkZtP1dco0p1EjN382i45lL0FJV9A On7F2Cy/cZazxBHUvDzA4yVAqYdLNynJ6GCtnHiM6KhuUY7e071FoyvxnQVU/6vwoiUB ftaA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=TrJZSiZXM+wAYHHCYMyRR6/W0komxk9HJdBhLEr5IVw=; fh=BXpvJvCgxX0lj3WZK5/HL1osKQgrnhPbX5i3/hgCelc=; b=YeKKbIxHtyFA7bO8yJvWb06mAyuggox7gNMCxzX06wgUar0BwmivLjluW97vZ5YoFu V9gu1IEwX3lWLWyBba6qAaOuPWnTYrcnQxqOsWHcGB24h/9jlJeZOwRhJa2DJ+x6EHgZ d2Wop5rso6XSTtF9dAzgUMqj/bIFsrNAfDKozIrDvV++0omOhMfRRuYz7K5/s9Ap55yq mVwAMIvl8wgb9zDw2t+uvMAMcckEUIL/g9lqAJKEHcaN6Fje1zW+QrMMs7xyqRJMzanf xPx1yj+xDWmyf+KKfKlE6+QFKeSnNERybtydCvfN2zhBlIphi9TINT+Ybh51nvNmH7FF Pu6A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=hJJgBayC; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-nfs+bounces-1199-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-1199-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id h18-20020a17090adb9200b002900c676271si1158214pjv.14.2024.01.18.01.44.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jan 2024 01:44:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs+bounces-1199-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=hJJgBayC; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-nfs+bounces-1199-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-1199-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9D04D288206 for ; Thu, 18 Jan 2024 09:44:58 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 675F41F94C; Thu, 18 Jan 2024 09:44:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hJJgBayC" X-Original-To: linux-nfs@vger.kernel.org Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E436C1F92D for ; Thu, 18 Jan 2024 09:44:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705571094; cv=none; b=dsZPMR26qDVOCcWR+AYVYVleK79GsKa98+a242/Uapro9yAEOESsHvi+UoBxA4wyvovu9WfK//rQAGvEcgtGRVuaAsjsYyHJNSWJFxpJn8WANuR6qbQBxMM+lIoSeFDP8fRC35N7ILhwLSKXEuKnlh2SG5wyjKylRixeFl+88EQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1705571094; c=relaxed/simple; bh=TrJZSiZXM+wAYHHCYMyRR6/W0komxk9HJdBhLEr5IVw=; h=Received:DKIM-Signature:X-Google-DKIM-Signature: X-Gm-Message-State:X-Google-Smtp-Source:X-Received:MIME-Version: References:In-Reply-To:From:Date:Message-ID:Subject:To:Cc: Content-Type:Content-Transfer-Encoding; b=dkR/S0mrU5OKeRl0zxEE35Sx9VcW/GyKKZIgbvqSMe30JoOnwM/KXmflhxm+Sgw/XxtjaNVLZBJwJL5/DVUbfQwF2XubK5FQXHk9UUIZUUKyzgQZ3yZ187fpsEOURJAlyxH8w7DOzjV2E0RPkB0ydzu8HJnVCWkWp0BEQKRh45s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hJJgBayC; arc=none smtp.client-ip=209.85.160.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-205f223639fso7342077fac.2 for ; Thu, 18 Jan 2024 01:44:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705571092; x=1706175892; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=TrJZSiZXM+wAYHHCYMyRR6/W0komxk9HJdBhLEr5IVw=; b=hJJgBayC2YOKKnkVdyF15uGymPvj1edfVtRQA1ok8CbGgZCQV0xfVobqkWRFFYvLA5 8l2XyFRTVgjjF3JaeTHZbhd0jeyMxzeASI2FBZbrb6ZeUncbby/mJygIyigHIvfIg0H+ FuEeEW8Yr3QSxWl/yYcpRLg5VmsD9Z0bMkpNMPhxihJTqKikbRpCcLJ4xREMqRRd02Cj 0sjnwY0SZGXFNz0ROQJdUd3mwtGBNcCvp/a6qWPaX3TW8YIzzCPCvC0LgxKyQwN2Ar/S NLKTHXeHmxu7yJ8KecCpd8NehEjzq7MGsQkUiuO847l3qbpXSPhlB1mxX28l4bzkG9zs pKeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705571092; x=1706175892; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TrJZSiZXM+wAYHHCYMyRR6/W0komxk9HJdBhLEr5IVw=; b=jmhd92kDD/1ThPCefZucJBl+F1GnEjTEvc+5hVfLwBefvC/AyykpsO3mMsEQUPpGVB oqh55iBNtTdKLWSwNkmGSV+YlY9rs9OwsD+KVpcfi269OZ0klC4Cyr27K0jANJwzJ//G HWTEP4DEC87/lauifF1Z8q1fULkVnwgLHbAvk6uLmCWLgrajKKOLf0UOn+Rvu+HfHYAA s0UOS86vW2/Cukc3mtTGDxegcUczKEMNsZ2AOhcPzloqPHaIllrxYcw+mDKD2H6/s/+P MeZ+kcfc16V3wTN1g6FbY2bma1VzJWKmlw6PpmCkNFmj++Sj8NVnQ4Rbtk5vhxfNoDMf beqw== X-Gm-Message-State: AOJu0YyO6MPgKILTG24pucYV+3dP2aEZuqFaUgXUbcz2spIHVVnwzB52 9Fb4CvD79LuHCmWX0v/twTX0NDPndFpOqyKXK8XBkVZwaDBeZm0uYyTzgjiPuTR60BBisg/c2oL flsEZSkxEUDsdO7PKAI4B+7qH94o= X-Received: by 2002:a05:6871:33a1:b0:204:2ac1:87ee with SMTP id ng33-20020a05687133a100b002042ac187eemr587142oac.105.1705571092009; Thu, 18 Jan 2024 01:44:52 -0800 (PST) Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <65a29ca8.6b0a0220.ad415.d6d8.GMR@mx.google.com> <0cd8fbfc707f86784dc7d88653b05cd355f89aad.camel@kernel.org> <24ACA376-5239-4941-BE53-70BF5E5E4683@oracle.com> In-Reply-To: From: Martin Wege Date: Thu, 18 Jan 2024 10:44:40 +0100 Message-ID: Subject: Re: RFE: Linux nfsd's |ca_maxoperations| should be at *least* |64| ... / was: Re: kernel.org list issues... / was: Fwd: Turn NFSD_MAX_* into tuneables ? / was: Re: Increasing NFSD_MAX_OPS_PER_COMPOUND to 96 To: Roland Mainz Cc: Chuck Lever III , Linux NFS Mailing List , Jeff Layton Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jan 18, 2024 at 2:57=E2=80=AFAM Roland Mainz wrote: > > On Sat, Jan 13, 2024 at 5:10=E2=80=AFPM Chuck Lever III wrote: > > > On Jan 13, 2024, at 10:09=E2=80=AFAM, Jeff Layton wrote: > > > On Sat, 2024-01-13 at 15:47 +0100, Roland Mainz wrote: > > >> On Sat, Jan 13, 2024 at 1:19=E2=80=AFAM Dan Shelton wrote: > [snip] > > >> Is this the windows client? > > > No, the ms-nfs41-client (see > > > https://github.com/kofemann/ms-nfs41-client) uses a limit of |16|, bu= t > > > it is on our ToDo list to bump that to |128| (but honoring the limit > > > set by the NFSv4.1 server during session negotiation) since it now > > > supports very long paths ([1]) and this issue is a known performance > > > bottleneck. > > > > A better way to optimize this case is to walk the path once > > and cache the terminal component's file handle. This is what > > Linux does, and it sounds like Dan's directory walker > > optimizations do effectively the same thing. > > That assumes that no process does random access into deep subdirs. In > that case the performance is absolutely terrible, unless you devote > lots of memory to a giant cache (which is not feasible due to cache > expiration limits, unless someone (please!) finally implements > directory delegations). > > This also ignores the use case of WAN (wide-area-networks) and WLAN > with the typical high latency and even higher amounts of network > package loss&&retransmit, where the splitting of the requests comes > with a HUGE latency penalty (you can reproduce this with network > tools, just export a large tmpfs on the server, add a package delay of > 400ms between client and server, use a path like > "a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/0/1/2/3/4/5/6/7/8/9"= , > and compile gcc). > > And in the real world the Linux nfsd |ca_maxoperations| default of > |16| is absolutely CRIPPELING. > For example in the mfs-nfs41-client we need 4 compounds for initial > setup for a file lookup, and then 3 per path component. That means > that a defaut of 16 just fits (16-4)/3=3D4 path elements. > Unfortunately the statistical average is not 4 - it's 11 (measured > over five weeks with 81 clients in our company). > Technically, in this scenario, a default of at least 11*3+4=3D37 would > be MUCH better. > > That's why I think nfsd's |ca_maxoperations| should be at *least* |64|. > +1 I consider the default value of 16 even a bug, given the circumstances. Thanks, Martin