Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2152255pxa; Mon, 24 Aug 2020 06:43:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyri/LmKWatXCw5iITNq2YuvBGw4rV44+qC12SGEfwMi2EaOWlA6q3t+E5yo0VL0EdUxg2g X-Received: by 2002:a05:6402:3199:: with SMTP id di25mr5535582edb.315.1598276581797; Mon, 24 Aug 2020 06:43:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598276581; cv=none; d=google.com; s=arc-20160816; b=TTaW8QcR+J9IWwcLK+oLh0DdGvjoT8uK0Rv9hN+DZaI+JIxISX2lJH5cxVxnVCXpRg d1KtTYcsHNWC1NJ4NqMoNnlD63CuQPr+rpBUUUj2yhPbPFOaZAhXTOWp05Bmf/1GelF9 LLjEcYZnww1X3Sd32He6lv3AxsEd+95/04HXikY6ocfxryWDmD2os+SyVUcpAPoBYfJD H2VnNXfN0j5k4oBrd0uRsm1H3noH7bCtb6xyB/U0Ve8/J3EDNWhyiOkozXsE5znj8iNm WiRsU/oLIpgcSpejopnt6FxnLFH1ISAwT4HEjUc5Lro+U8BAm95DM9en8eGyzxT/UwI0 cEAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=wSW4SkydWFHTehewAje6+yOTYK6OOatV/c4QQ/OasRw=; b=TTfBzQIiefdF0/xji/idj9/GXIhRsdoDfzm9BKgkshTpI84N4nUTCaNrEAm3Zyneuw QrNd95Qn7eP5eQUy097LylxM8XtD9wpT6/4p3XjePnLg//jSPsauM1UVYumECArx3Fpt TsZDNzk+ya2vU2UX7DBH6DQkyg8FJJWGGPMvdPBcX1A+XvCpzRN2yM+4zYlSYQZREol6 aLuebA00RhhAnyusUBRSftqJzzTzqTyWx/AhHfXvrSvIkoYzxhHxqfzx16s5VCxG34eS QWgE5Kc/t3ux8bXMlG4dNzQpZtmykJcGmVQuPXQLpxv3akDnXj6+ve3DmL4Y3aHVNxho xYUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=sxmzuAwu; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f11si6580495ejr.96.2020.08.24.06.42.37; Mon, 24 Aug 2020 06:43:01 -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=@oracle.com header.s=corp-2020-01-29 header.b=sxmzuAwu; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727841AbgHXNkP (ORCPT + 99 others); Mon, 24 Aug 2020 09:40:15 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:46732 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727781AbgHXNjl (ORCPT ); Mon, 24 Aug 2020 09:39:41 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 07ODcism039540; Mon, 24 Aug 2020 13:39:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=corp-2020-01-29; bh=wSW4SkydWFHTehewAje6+yOTYK6OOatV/c4QQ/OasRw=; b=sxmzuAwu0IGvkd6BqUBrH/TIVjmxKiEmG+5Mvf20agNH231takmEQr1TYfW2PVWtX+ez j21WIkaot3GMrFKYvRTgDVsMjtPmxMXZpTr6+SHqVe/JR0HtCrextWGipNZMTMy2q1nA 8/yk9nt7ig3O7qNpKbnf4POJuPMcoHXlNtj7AWFH8e3rxSWjSDTqpXNRV16DI4qI0kDH gcMFlKcooAj3giznLb35fSh2SSgNeA2eH0oivZKHyedxQqZHN/StW2dsS+J3Ib6jDGWB T7XSezKlprfngXTlkfl6wAwttG2r2p6uegXxRSOFYSjJ9idmg3C5U/wIuevQAxTxWVBl ug== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 333cshvmqx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 24 Aug 2020 13:39:33 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 07ODUXPq062885; Mon, 24 Aug 2020 13:39:33 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3020.oracle.com with ESMTP id 333rtwhpxw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Aug 2020 13:39:33 +0000 Received: from abhmp0017.oracle.com (abhmp0017.oracle.com [141.146.116.23]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id 07ODdWM7008272; Mon, 24 Aug 2020 13:39:32 GMT Received: from anon-dhcp-152.1015granger.net (/68.61.232.219) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 24 Aug 2020 06:39:32 -0700 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.1\)) Subject: Re: still seeing single client NFS4ERR_DELAY / CB_RECALL From: Chuck Lever In-Reply-To: <20200819212927.GB30476@fieldses.org> Date: Mon, 24 Aug 2020 09:39:31 -0400 Cc: Linux NFS Mailing List Content-Transfer-Encoding: quoted-printable Message-Id: <5D346E9E-C7C5-49F7-9694-8DD98AF1149A@oracle.com> References: <20200809202739.GA29574@fieldses.org> <20200809212531.GB29574@fieldses.org> <227E18E8-5A45-47E3-981C-549042AFB391@oracle.com> <20200810190729.GB13266@fieldses.org> <00CAA5B7-418E-4AB5-AE08-FE2F87B06795@oracle.com> <20200810201001.GC13266@fieldses.org> <20200817222034.GA6390@fieldses.org> <20200819212927.GB30476@fieldses.org> To: Bruce Fields , Jeff Layton X-Mailer: Apple Mail (2.3608.120.23.2.1) X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9722 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 mlxlogscore=999 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2008240108 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9722 signatures=668679 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 bulkscore=0 clxscore=1015 spamscore=0 priorityscore=1501 impostorscore=0 adultscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2008240109 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org > On Aug 19, 2020, at 5:29 PM, Bruce Fields = wrote: >=20 > On Tue, Aug 18, 2020 at 05:26:26PM -0400, Chuck Lever wrote: >>=20 >>> On Aug 17, 2020, at 6:20 PM, Bruce Fields = wrote: >>>=20 >>> On Sun, Aug 16, 2020 at 04:46:00PM -0400, Chuck Lever wrote: >>>=20 >>>> In order of application: >>>>=20 >>>> 5920afa3c85f ("nfsd: hook nfsd_commit up to the nfsd_file cache") >>>> 961.68user 5252.40system 20:12.30elapsed 512%CPU, 2541 DELAY errors >>>> These results are similar to v5.3. >>>>=20 >>>> fd4f83fd7dfb ("nfsd: convert nfs4_file->fi_fds array to use = nfsd_files") >>>> Does not build >>>>=20 >>>> eb82dd393744 ("nfsd: convert fi_deleg_file and ls_file fields to = nfsd_file") >>>> 966.92user 5425.47system 33:52.79elapsed 314%CPU, 1330 DELAY errors >>>>=20 >>>> Can you take a look and see if there's anything obvious? >>>=20 >>> Unfortunately nothing about the file cache code is very obvious to = me. >>> I'm looking at it.... >>>=20 >>> It adds some new nfserr_jukebox returns in nfsd_file_acquire. Those >>> mostly look like kmalloc failures, the one I'm not sure about is the >>> NFSD_FILE_HASHED check. >>>=20 >>> Or maybe it's the lease break there. >>=20 >> nfsd_file_acquire() always calls fh_verify() before it invokes = nfsd_open(). >> Replacing nfs4_get_vfs_file's nfsd_open() call with = nfsd_file_acquire() adds >> almost 10 million fh_verify() calls to my test run. >=20 > Checking out the code as of fd4f83fd7dfb.... >=20 > nfsd_file_acquire() calls nfsd_open_verified(). >=20 > And nfsd_open() is basically just fh_verify()+nfsd_open_verified(). >=20 > So it doesn't look like the replacement of nfsd_open() by > nfsd_file_acquire() should have changed the number of fh_verify() = calls. I see a lot more vfs_setlease() failures after fd4f83fd7dfb. check_conflicting_open() fails because "inode is open for write": 1780 if (arg =3D=3D F_RDLCK) 1781 return inode_is_open_for_write(inode) ? -EAGAIN : = 0; The behavior on the wire is that the server simply doesn't hand out many delegations. NFSv4 OPEN uses nfsd_file_acquire() now, but I don't see CLOSE releasing the cached file descriptor. Wouldn't that cached descriptor conflict with subsequent OPENs? -- Chuck Lever