Received: by 2002:ab2:620c:0:b0:1ef:ffd0:ce49 with SMTP id o12csp678584lqt; Mon, 18 Mar 2024 23:27:08 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWkIyYCuELenjp3Pt6Kzi5BCeMfg9GQPNGo91UTbJAOWtMixWgeEMCzFuXHAKY0ApAcRx3Gvc5gK5hDYA5JGIuCjIrFJDi7tMEz3knQnQ== X-Google-Smtp-Source: AGHT+IHd+dXB7/llu50+oCvkRuU8iDxnoNqqKbUotLlHl5fyWJdu1aEcSOgj0AnPrQxZNU4V/5/o X-Received: by 2002:a05:6808:209a:b0:3c3:7953:fe91 with SMTP id s26-20020a056808209a00b003c37953fe91mr13990719oiw.5.1710829628625; Mon, 18 Mar 2024 23:27:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1710829628; cv=pass; d=google.com; s=arc-20160816; b=GULS5UBSUrfXAPPhrPb9a9tuDlQiEjwaofzbnNwMTYHptvzxyu59KK7cTcUsgC9dDg ZM/2O0JgvegOvXD0X1JZboCAgt4Fydgnv82dBWWjVBp8Gck9fddembvPDkm0dPp4e82Z W25upS7su27XnL3e8xcHxlc2jXm8VFrwsAGZ80nm575eidZmsPirMvZBooHCFI9t/Pp6 kFJ37hVTWis6OhN6/DCoLJLmZPdYT+I0v6qh+FKq+Wu0RdmKPvY6+MsU/QY80eD9PFCu xkktK2nF4S9r+wP9WoEq4KE9SHCfnnmRMWZYkOeOleJxbNlXi4SutpxvXOIuoJ/sPmUk Yu5w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=WSaf+h/t2R+7t74nTu6Zi9aKf3ti8jGhnNq/LRYRUIg=; fh=A3pMOUK00huGibGCZBFsLekFLVbB5hHGKjUNNKwO+5E=; b=p5FD6UVrWraB4COJuVhW9pfWC2cNYHti27LUpbcVhYEPgXoBd/66J1Fwpvv088UEWC T0sf673Z2F+KFTDoVg6SJj2uhJZWXOm/ZTFKnXgpAbDmp5n4nHI8L0lruC7KAyBAaGYY jfDpRGJ6YM545EGUK5P7DR0l2vGYpuj4bdkefmLlwV0sazven3WWv3ZcqCpmHoGDIyIz 6QxmLMH8QubNgbQqeBSbIbFo4PuSGRL7nPInlHXhsa52ia3ut3sosKB8lpTa8nr02GO/ qfD8l5ZoCzZhgXjAlMjpQPaWugaSVhd9OymPyxIFhsW24wi1yqEEddAFzQramlcdUPPv AaJA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="ZRUj/oRf"; 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-2386-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2386-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. [147.75.48.161]) by mx.google.com with ESMTPS id f9-20020a056a0022c900b006e6ccd6c79dsi10525816pfj.291.2024.03.18.23.27.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Mar 2024 23:27:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs+bounces-2386-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b="ZRUj/oRf"; 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-2386-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-nfs+bounces-2386-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 4A1B7B20FBB for ; Tue, 19 Mar 2024 06:27:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 215B74594E; Tue, 19 Mar 2024 06:27:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ZRUj/oRf" X-Original-To: linux-nfs@vger.kernel.org Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (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 479BC5B1E3 for ; Tue, 19 Mar 2024 06:27:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829623; cv=none; b=RGS/Cwda4iSZLMGXhYbVjxUtZ/iRPoB8JuDxBEdMvUd30+2XAajpzjUHebUc9kNjZXozfBArOrRhilnvsanEkAUDDhrv/aznHgS1+XEyK3Nb4aJuf2FALG9EBmoZuKfL0tpnDfbNRzFi1EByMiZrDEoxTpOxjJrZauLgb8fZPeU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710829623; c=relaxed/simple; bh=WSaf+h/t2R+7t74nTu6Zi9aKf3ti8jGhnNq/LRYRUIg=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Content-Type; b=mO7e5ejp2XTqib+0lgxEFfOs6QvN440ebyUJWA4wbuhe8EeOvzIrsLGNSTEYaJ6Z1ZNBwyzKn0ea+edENnIXkNzvAz3MeffdlcThe6tuLzMshR9em7CzjnWJFZjodJbZPltCmawiIIdNEMf2MqGivJF7bKnUPsyrA/2XNbrR2NU= 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=ZRUj/oRf; arc=none smtp.client-ip=209.85.208.53 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-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-56b8e4f38a2so858652a12.3 for ; Mon, 18 Mar 2024 23:27:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710829619; x=1711434419; darn=vger.kernel.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=WSaf+h/t2R+7t74nTu6Zi9aKf3ti8jGhnNq/LRYRUIg=; b=ZRUj/oRfw+wXVn4qxAuArH9Gl6g1VX/DKU6ipix8m+TE6zbs3wv4lXVNb3B0YseQ8O sXXsDLJxYdl5B/DkAsyXW+zr078gRsiriTaA/UyMEaEwnag4HUQ81GgmKPNhy4Aa0oPM JMiyJ/gXm4kLd1MhZMr1m12SfBiGv+6mM12iOaPVpkWDPxfsI+V8Xq5SfAmnyELVNmkq sbHtN2oajUOhThvbm5bgvjzYW+FbMnEI2vwIw8rLCI5qbuKvRt961hShAR+Y9/BRWwWT BgF7IU5RUkQ3qY5oQm+kcNEg/6xu8+N9kn07oe0BzGoq3n4RhRETiUVdSLOTH1fvk1xz s7QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710829619; x=1711434419; h=content-transfer-encoding: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=WSaf+h/t2R+7t74nTu6Zi9aKf3ti8jGhnNq/LRYRUIg=; b=DHQCor5fvOarBan1/eLBqJrLNsS1IJtMQhBTcJJnAX6hH+VEn7l96WndEWXvRxLNRp YARSNuv7Md//qrSkWLTMIDLNXVc8pp/tBMsJlXhUrjQDMf+BjzVBJMAYORk+nIkdpxJG kBd8UM2baOCNtw9BsqVczrhyj5g2dz9fASGnE9EoWPLIzHnXSgqCCjy020agbpp0T+aR 7JV6Wwd59hz4Qb7p2w8ZVlwC2aSL2zw5qG9GzkWKSuSxpe41x/Ydav2xmY0yONfsppRZ n+SBKFsy76bNI6piFY4u9f54IwzLH3JBroNoaUKPHG4YR0ynJch4MAJ8lQYiwpzl28aE D2qA== X-Gm-Message-State: AOJu0YwdoRrAbQeBX+PjWwnyGN2hLm+bpgnu7n+SBei0t7lPnr/ACQ4t ooX2xf3/5YtebP0A6WsOzhnaCwUruiFW3ivbk175WN1xZ5k3JAlVbXolUk2voX71c0ayZkV9+ce yL3qhxQjJZJ+EUHtWOZA0ItXEjo4rVQDWrG8= X-Received: by 2002:a05:6402:e9d:b0:565:7b61:4c82 with SMTP id h29-20020a0564020e9d00b005657b614c82mr9591405eda.5.1710829618677; Mon, 18 Mar 2024 23:26:58 -0700 (PDT) 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> <470318C6-3252-445F-94F3-DDB7727F84C7@oracle.com> <76D8D54D-AE71-4D4C-AD61-2D2232FB1ECB@oracle.com> In-Reply-To: <76D8D54D-AE71-4D4C-AD61-2D2232FB1ECB@oracle.com> From: Cedric Blancher Date: Tue, 19 Mar 2024 07:25:00 +0100 Message-ID: Subject: Re: |ca_maxoperations| - tuneable ? / was: 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: Linux NFS Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 16 Mar 2024 at 17:35, Chuck Lever III wrot= e: > > > > > On Mar 16, 2024, at 7:55=E2=80=AFAM, Roland Mainz wrote: > > > > On Thu, Jan 18, 2024 at 3:52=E2=80=AFPM Chuck Lever III wrote: > >>> On Jan 18, 2024, at 4:44=E2=80=AFAM, Martin Wege wrote: > >>> 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] > >>>> That assumes that no process does random access into deep subdirs. I= n > >>>> 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). > >> > >> Do you mean not feasible for your client? Lookup caches > >> have been part of operating systems for decades. Solaris, > >> FreeBSD, and Linux all have one. Does the Windows kernel > >> have one that mfs-nfs41-client can use? > > > > The ms-nfs41-client has its own cache. > > Technically Windows has another, but that is in the kernel and > > difficult to connect to the NFS client daemon without performance > > issues. > > > > [snip] > >> Sending a full path in a single COMPOUND is one way to > >> handle path resolution, but it has so many limitations > >> that it's really not the mechanism of choice. > > Yes, COMPOUND was added to NFSv4 as a possible > way to manage network latency, but in hindsight > I think the NFS community now recognizes that > there are more effective strategies to deal with > network latency than creating more and more > complicated COMPOUND operations. Client-side > caching, for instance, is a much better choice. I have a severe hiccup now after reading THAT comment. Every generation of IT engineers makes the same damn mistakes, and it takes them ~10 years to realise their mistakes. So here is the comment - before my first coffee - from someone with a grey beard, who is old enough to deal with Mintel, the first UNIX and the first RFS, NFS, AFS, DFS: Mistake 1: Caching will solve it all. DFS (the follow up to AFS) tried that to an absurd extent, and failed badly, too complex, too buggy and too cpu and memory intensive. Granted the bugs were fixed over time, but by then the reputation was ruined. Mistake 2: Caching is always possible. Mounting /var/mail with actimeo=3D0 is the classical example, HPC another popular one. Mistake 3: The cache memory is unlimited. We had that one with Solaris's builtin name cache, and then ZFS. Memory is limited, and just making the caches 2x, 8x, 32x times bigger doesn't give you any benefits, because cache expiration/timeout. Of course you can try to keep the cache "hot", or try delegations, or move data ownership to another server closer to the client. See DFS above. Did not work. Google also "law of diminishing returns" Mistake 4: The network has unlimited bandwidth, so we can keep the local cache updated/hot, or abuse it otherwise. Unlike our dreams in the 1990 that we will have 100GB/s Infiniband networks in our laptops by 2020, the real word laptop in 2024 maxes out at 1000baseT, and most rural offices still have 100baseT Mistake 5: The main memory is unlimited. That ignores the fact that SUN promised us that NFSv4 will not require more memory than NFSv3. NFSv4 still has to serve the embedded/IoT use case, either for data, or for diskless boot from NFS(v4). Those machines cannot waste 512MB on your dream cache with their 8MB main memory, which is also not going to work because of "Mistake 3". The law of diminishing returns sends you your greetings. So complex COMPOUND operations are not that bad, but they are also not the perfect solution for everything. Likewise, giant client-side caches are not the perfect solution for everything, neither are they feasible in all scenarios. Oh delete the "all" and replace with "most". Ced --=20 Cedric Blancher [https://plus.google.com/u/0/+CedricBlancher/] Institute Pasteur