Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp3019373pxy; Mon, 3 May 2021 13:11:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwFanTKUwpVFbI0e0x4QFD/EkIQqj6j4Dhk6RmBzPwVDGI3utnsQvgm4eKSLMBVoHz3Pddi X-Received: by 2002:a17:902:e84a:b029:ed:57e5:b223 with SMTP id t10-20020a170902e84ab02900ed57e5b223mr21887122plg.40.1620072690728; Mon, 03 May 2021 13:11:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620072690; cv=none; d=google.com; s=arc-20160816; b=lbijQFCHKgugRGZSCbv3cU+U2bzZZY9r8lFkGNSV4FavYeZgmTSWUpSwFGDC6JK18d UmuXRR5hmXxmPV6vkPoP0CmTnrXada0vlbUjH7cYTmE/FdJsHhDzpo6jFmdacw8eNAl6 AUB460l9yKfG9Xm04Yq/5AnICBWOTwv20GrW8U87ObNqnxwRQ5GlOrUgTbfgwju3Abwp Dt8It4PDgYYi79eME/PBd0tZaigcu0F5Ea+sqTkKrQO6nY2srEY5V4jqfEabymLseg3O OBI6C76Mg1e7KBae5UbQTic7xV1EfZmzK5vi4xu6VvZgZSUGrHiRUgHTZcT9abrs6io5 T2KQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:dkim-filter; bh=MHFegGsp7gBkk6hj1OHeZy+/5FxuTdpXRuG55FJ0QxU=; b=yF+ShoDCu5QtEe3AmOCrqOQ8kiFr+cbbmbM3pbk/sD0OtGtiSWc2pn/iks9dMvT3Ox gbSdo9RkpFUhb+g5TaRfOWhWzwamvVTxC3w+oVxKqhUDFnv0jYFN6gxztg8ZGmO6ssTO Xx4rwFsN53hyeRbWWbVq2vG5NbXj3ByXinjVWkKXLcOAMYrmoDFehMD9AeqsYimiQwJX Yctlu/jhcAiYRgxxabxoy+QPIX1rrJq/h9O03Eh7A18y2wjysivjzrKWrYFcA0vNIz8C 94dawOCNxBHBeCo7BWmVkB1Q9LxPSdD+W4+Rm7NIs8wBZR9Ef3LRsv4wg689TKFDTdlM CbYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@fieldses.org header.s=default header.b="XGv/WlmS"; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p8si14013179pjm.141.2021.05.03.13.11.03; Mon, 03 May 2021 13:11:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@fieldses.org header.s=default header.b="XGv/WlmS"; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229497AbhECUKs (ORCPT + 99 others); Mon, 3 May 2021 16:10:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41830 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229472AbhECUKr (ORCPT ); Mon, 3 May 2021 16:10:47 -0400 Received: from fieldses.org (fieldses.org [IPv6:2600:3c00:e000:2f7::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F0601C06174A for ; Mon, 3 May 2021 13:09:53 -0700 (PDT) Received: by fieldses.org (Postfix, from userid 2815) id BFD9E4183; Mon, 3 May 2021 16:09:52 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.11.0 fieldses.org BFD9E4183 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fieldses.org; s=default; t=1620072592; bh=MHFegGsp7gBkk6hj1OHeZy+/5FxuTdpXRuG55FJ0QxU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=XGv/WlmSLraqxOCwArD52Jn2+iHY1OoYCBCB3H24jaz3619ca7A9LaZ6DKwQhdHCq Da7Y7c/qCTVxjhtTYyRGrPRhGCZ4pjhWV7k6eZk02V9Li1UKlOcVE7zB/J+jLcLYjJ 6HtMgiUYAYnpFiMSH1nalJV/p/vR9hpPvN5OScH0= Date: Mon, 3 May 2021 16:09:52 -0400 From: "bfields@fieldses.org" To: Trond Myklebust Cc: "fsorenso@redhat.com" , "linux-nfs@vger.kernel.org" , "aglo@umich.edu" , "bcodding@redhat.com" , "jshivers@redhat.com" , "chuck.lever@oracle.com" Subject: Re: unsharing tcp connections from different NFS mounts Message-ID: <20210503200952.GB18779@fieldses.org> References: <57E3293C-5C49-4A80-957B-E490E6A9B32E@redhat.com> <5B5CF80C-494A-42D3-8D3F-51C0277D9E1B@redhat.com> <8ED5511E-25DE-4C06-9E26-A1947383C86A@oracle.com> <20201007140502.GC23452@fieldses.org> <85F496CD-9AAC-451C-A224-FCD138BDC591@oracle.com> <20201007160556.GE23452@fieldses.org> <20210119222229.GA29488@fieldses.org> <2d77534fb8be557c6883c8c386ebf4175f64454a.camel@hammerspace.com> <20210120150737.GA17548@fieldses.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20210120150737.GA17548@fieldses.org> User-Agent: Mutt/1.5.21 (2010-09-15) Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On Wed, Jan 20, 2021 at 10:07:37AM -0500, bfields@fieldses.org wrote: > On Tue, Jan 19, 2021 at 11:09:55PM +0000, Trond Myklebust wrote: > > On Tue, 2021-01-19 at 17:22 -0500, bfields@fieldses.org wrote: > > > On Wed, Oct 07, 2020 at 04:50:26PM +0000, Trond Myklebust wrote: > > > > As far as I can tell, this thread started with a complaint that > > > > performance suffers when we don't allow setups that hack the client > > > > by > > > > pretending that a multi-homed server is actually multiple different > > > > servers. > > > > > > > > AFAICS Tom Talpey's question is the relevant one. Why is there a > > > > performance regression being seen by these setups when they share > > > > the > > > > same connection? Is it really the connection, or is it the fact > > > > that > > > > they all share the same fixed-slot session? > > > > > > > > I did see Igor's claim that there is a QoS issue (which afaics > > > > would > > > > also affect NFSv3), but why do I care about QoS as a per-mountpoint > > > > feature? > > > > > > Sorry for being slow to get back to this. > > > > > > Some more details: > > > > > > Say an NFS server exports /data1 and /data2. > > > > > > A client mounts both.  Process 'large' starts creating 10G+ files in > > > /data1, queuing up a lot of nfs WRITE rpc_tasks. > > > > > > Process 'small' creates a lot of small files in /data2, which > > > requires a > > > lot of synchronous rpc_tasks, each of which wait in line with the > > > large > > > WRITE tasks. > > > > > > The 'small' process makes painfully slow progress. > > > > > > The customer previously made things work for them by mounting two > > > different server IP addresses, so the "small" and "large" processes > > > effectively end up with their own queues. > > > > > > Frank Sorenson has a test showing the difference; see > > > > > >         https://bugzilla.redhat.com/show_bug.cgi?id=1703850#c42 > > >         https://bugzilla.redhat.com/show_bug.cgi?id=1703850#c43 > > > > > > In that test, the "small" process creates files at a rate thousands > > > of > > > times slower when the "large" process is also running. > > > > > > Any suggestions? > > > > > > > I don't see how this answers my questions above? > > So mainly: > > > > > Why is there a performance regression being seen by these setups > > > > when they share the same connection? Is it really the connection, > > > > or is it the fact that they all share the same fixed-slot session? > > I don't know. Any pointers how we might go about finding the answer? I set this aside and then get bugged about it again. I apologize, I don't understand what you're asking for here, but it seemed obvious to you and Tom, so I'm sure the problem is me. Are you free for a call sometime maybe? Or do you have any suggestions for how you'd go about investigating this? Would it be worth experimenting with giving some sort of advantage to readers? (E.g., reserving a few slots for reads and getattrs and such?) --b. > It's easy to test the case of entirely seperate state & tcp connections. > > If we want to test with a shared connection but separate slots I guess > we'd need to create a separate session for each nfs4_server, and a lot > of functions that currently take an nfs4_client would need to take an > nfs4_server? > > --b.