Received: by 2002:a05:7412:e794:b0:fa:551:50a7 with SMTP id o20csp2669762rdd; Fri, 12 Jan 2024 18:40:33 -0800 (PST) X-Google-Smtp-Source: AGHT+IEr0Mf7e3jK2ZQW8jmUd4Pa4cRWPIvxFxCkOsPnAYhrCsE2fuqWoYnP3amDSEnH4KJVF6IL X-Received: by 2002:aa7:9dd0:0:b0:6da:b936:b312 with SMTP id g16-20020aa79dd0000000b006dab936b312mr1971092pfq.36.1705113633296; Fri, 12 Jan 2024 18:40:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705113633; cv=none; d=google.com; s=arc-20160816; b=bWPeFub1p5AjYkrBeFLOje79E4QNDxwOb6PUkD7oehWEZgWD5ZbISwyyxranP8EJ05 FBmpRGL65U/6sAJdDxRJzN2cNPl9QyMdXdJvsDB2F43QRrcBqKXHdRXcNcmKDuWxNy41 0vQde9eNH2S8+Y55ZT19Oe6WVSH1UO3qtN7ARHfynA4Rkn3i7Zf93u44cvVfl2A8XBnU qcgt+GAINlKZZmpx1ukhzuIi+XJKvrYARKY1vDTXc8W6YPKKG+6YZyZPybMFPcY0nkD7 QBHvlo1JzRXP+OKAjswGBPYNhLR+yVCXz6NiAsItjKmFle26ULjYNpHRGQqdBdKDB6wK j6Nw== ARC-Message-Signature: i=1; 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=TNrBO26dLFKEb4E2Icae36wVQATJz4EgPpiz/a6Op00=; fh=cUPLOy8dRUz2biJT4UXihKI5Wvyp4tbRIh7iQiSQsb8=; b=rk+fbAOUoa9Y9rW5XEN/yypBHPNObj1wja6L8/ggBM/gNpYDEnV4eRfDBoCmaUVPP2 863pnzSOGj1mQ+0gGS4EQ6+DfW4Xe/FW7ndc2MNCnG8Guv9k6lZsQKtjc/g2cOgN2Wrd TmQIpgexIf8WKvMIi2wPLbgNtYgFF2R4PzfUj5vXbU01tWunPlXd6AScYPtN3sFxvD+U Uz7ZXUT37iZzX5uyfP7GQKaZOqNtaju0qFJwste111Iveg2OkBQLM2TOx3FyUfbZKGUx wJOLh2gZCPO7eTu69trTFxijGTPfti5juN+zW9nyVjr16JFoqar9CGgV/+XDIQOQz/Bw kBCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=HKB9+7VF; spf=pass (google.com: domain of linux-nfs+bounces-1071-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-1071-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id e15-20020a63e00f000000b005c67bf38069si4248273pgh.320.2024.01.12.18.40.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 18:40:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-nfs+bounces-1071-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=HKB9+7VF; spf=pass (google.com: domain of linux-nfs+bounces-1071-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-nfs+bounces-1071-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 sy.mirrors.kernel.org (Postfix) with ESMTPS id 33531B241E2 for ; Sat, 13 Jan 2024 02:40:31 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9661A184D; Sat, 13 Jan 2024 02:40:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HKB9+7VF" X-Original-To: linux-nfs@vger.kernel.org Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (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 3D6386FC2 for ; Sat, 13 Jan 2024 02:40:26 +0000 (UTC) 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-pg1-f175.google.com with SMTP id 41be03b00d2f7-5cdfbd4e8caso5110996a12.0 for ; Fri, 12 Jan 2024 18:40:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705113625; x=1705718425; 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=TNrBO26dLFKEb4E2Icae36wVQATJz4EgPpiz/a6Op00=; b=HKB9+7VFjjbEaCIXdVhgm/O1mwKlj8no2yO+Fi0YGIDNoDQNO/T6lUn7k9WrheGmUd 3rdtCYcEFNeNjoi487BeAl6gdndrmVI/Hk05m4mWknZIeM40o7as0vqJSSlUyB7G0oAT oth0VtlWwQMe3/awnpHvGWJxKZZ+cJKs5A2TGkW+OhAzRlm7GTODVzDCn6LrHe85xUqU xEDLbAlOYWTNUiu3nYtm698DSLJ1H4Sy+o9E/e/L1Q1yoHxEiI8NmZZaMvyln/IvZaR5 SdpCTI7i6h/uC39RIVM+Ky58zzQg6sHL0mC062rlpR0TbFOKc3h/8ZXXrPoVPF5dpV+g mNMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705113625; x=1705718425; 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=TNrBO26dLFKEb4E2Icae36wVQATJz4EgPpiz/a6Op00=; b=iZmCQe2VjrpLQwvgzfLiqSrO9q8U8qimrkhlyw8altYAPNa8O5JqreBq7W26WTD2NL 7U183zZv/XFa94E1YOasun4CHLTLEOFiajZzlechemUCw5guBB9BqRNGbsQE0C7mT6ej 8rMQxw0BzVG6dBlRjxgaec4msQ0w4mfCq5TtUhQXkpYlb3aHcyW9SB5rHcnI6Omvw0Tu F/9vlmfg8ae04XzWfgSCNetXf+m8q37yAP3qZvXWRQPdRJLs7ehXYD6qqx+1tU2e695b J8swqBMkpJPPtpjT/bTNcfYxGm8FaO9DEOR2476Qwo6X/rAVpKR4bl4AGHV5H4v3/uyF J8VA== X-Gm-Message-State: AOJu0Yzaxsv/dKpXnqVVCIUehnSqm2AcPVs6v2OjEjL6dqLQg39Uc+ka XUFjbIyX1yZO/T7USKscixWRQmR8JhmH+BNAGQ== X-Received: by 2002:a05:6a21:6da0:b0:199:d648:7d87 with SMTP id wl32-20020a056a216da000b00199d6487d87mr2188198pzb.81.1705113625548; Fri, 12 Jan 2024 18:40:25 -0800 (PST) Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <89fba598b0b93cf97bf208e106001f74eadd1829.camel@kernel.org> In-Reply-To: From: Rick Macklem Date: Fri, 12 Jan 2024 18:40:08 -0800 Message-ID: Subject: Re: Increasing NFSD_MAX_OPS_PER_COMPOUND to 96 To: Chuck Lever III Cc: Dan Shelton , Jeff Layton , Linux NFS Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Jan 12, 2024 at 5:53=E2=80=AFPM Chuck Lever III wrote: > > > > > On Jan 12, 2024, at 8:47=E2=80=AFPM, Dan Shelton wrote: > > > > On Sat, 13 Jan 2024 at 02:32, Jeff Layton wrote: > >> > >> On Sat, 2024-01-13 at 01:19 +0100, Dan Shelton wrote: > >>> Hello! > >>> > >>> We've been experiencing significant nfsd performance problems with a > >>> customer who has a deeply nested filesystem hierarchy, lots of > >>> subdirs, some of them 60-80 dirs deep (!!), which leads to an > >>> exponentially slowdown with nfsd accesses. > >>> > >>> Some of the issues have been addressed by implementing a better > >>> directory walker via multiple dir fds and openat() (instead of just > >>> cwd+open()), but the nfsd side still was a pretty dramatic issue, > >>> until we bumped #define NFSD_MAX_OPS_PER_COMPOUND in > >>> linux-6.7/fs/nfsd/nfsd.h from 50 to 96. After that the nfsd side > >>> behaved MUCH more performant. > >>> > >> > >> I guess your clients are trying to do a long pathwalk in a single > >> COMPOUND? > > > > Likely. > > That's known bad client behavior, btw. It won't scale > in the number of path components. > > > >> Is this the windows client? > > > > No, clients are Solaris 11, Linux and freeBSD > > Solaris 11 is known to send COMPOUNDs that are too large > during mount, but the rest of the time these three client > implementations are not known to send large COMPOUNDs. Actually the FreeBSD client is the same as Solaris, in that it does the entire mount path in one compound. If you were to attempt a mount with more than 48 components, it would exceed 50 ops in the compound. I don't think it can exceed 50 ops any other way. rick > > > >> At first glance, I don't see any real downside to increasing that valu= e. > >> Maybe we can bump it to 100 or so? What would probably be best is to > >> propose a patch so we can discuss the change formally. > > > > OK. How does this work? > > Let's back up a minute. > > I'd like to see raw packet captures with the current > MAX_OPS setting and the new larger one. Something is not > adding up. > > > -- > Chuck Lever > >