From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) (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 968473BFACB for ; Thu, 4 Jun 2026 07:59:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780559963; cv=none; b=qkgBqbVP9tbTkgGSlZRKn+49QAh3P/em5thudvRUM4IEHavJ+6JL8ITApt/NPLg2pvsZbGfo7J3Za01Lj87W39XQVjvWpfKY954SVRdOu8mhWLeTBUA5Ab5KeTYILirHX9+nSMVxTaGjqouxwBgNxZidHmdZvM7BIrl3cx6XTXE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780559963; c=relaxed/simple; bh=pzTHySCCH2WnvMEzZZ83Y/ll+yKbOg3+v0WOsr73xFw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=bEpju7JtXA29hXDab755EUffBMZsfZat2gFK0Iak3mykdSLVPp2Q1Jm4MOZuWArEvNeES/mUwbSlHrWgZbaACdSLVS+GumLzFG37gN5Sst2UGTzVo9swpMAdStu1Ty3vplupvsn4UrwRtjngqQSySJeKqz30Uxe4a3lKC+FSG9c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=T5v9Fe0z; arc=none smtp.client-ip=209.85.214.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="T5v9Fe0z" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2bf2d865383so63515ad.1 for ; Thu, 04 Jun 2026 00:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1780559962; x=1781164762; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=2eRaU12XYS/7sUx6CQxhbdLP2E0HdlnbJUQAPJM1JzQ=; b=T5v9Fe0zgjMJ//gQuvksrebhK4U2RRJN75GiI7q4ZwjIonSnbuglLwOrx/4gIbeOky uRWt93gh30ngq93XeXiROuR56CaJ93DQlmAb39iggqaXv/MFGE7/t28Sv67cRum2CVkJ sSyx9imnSlGuuliD6egfCfyrLVH7074VjwBtiFnC1bCvAqIkd9blsdgMbpMj8uwzVxoS +6eSEztO2IzRaGDstYc3O0qXAknnBKF78Y4L5U/S1JvwZUK6RcG950am30h+KutdXKS1 /KB9EIBr1MFGPiUbmNqpwoFdBw4BSvWv1aLExAWMxZsiW9d2KRR4TqWZr7yB4mqo7JV4 RXVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780559962; x=1781164762; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2eRaU12XYS/7sUx6CQxhbdLP2E0HdlnbJUQAPJM1JzQ=; b=T+0IeafFIaUy/qD3wQ5hyNQ61Kiu9D0LmkJqlumgdcz6n/1B6YmYpU06vsvWIqlb3y e9lEnadN7ePINMOSUzxq7TBv4/FPD8zNfbCHkBbD+zNYMneaSlbqm9hlGD13Al5xCrqZ OcKm6BVZyh1Y51xZiC2pK/zCuBDKyN14WojhiLelZTf1GID5i4A1C7TMnzWkq+t+TeLG 3+i4bF5P93L9MQfCKoBr24eqKLh6xzflYMO8DhCKnreFvOi/k63XdyFo+j6M0feCvLAv dra3fla4PXDFQK+hZ97fX6l9ijq3C3mxw0n0xbW3Xbx8LYfOPPGTIVtY+lM9jUwsWSzM EunQ== X-Forwarded-Encrypted: i=1; AFNElJ8mc10Mq+ErL1xcay0dcHxnD7sZjNKt1C8iRnIMCeQVUbAxsSaptZgPEYXpzuv/BfRQuvvggBNvo0j9zWo=@vger.kernel.org X-Gm-Message-State: AOJu0YxNZvLH4/T6Femo7qVq/rlTgBcvPTUNvdjizjP36mjTu/LfrxWX LFv6yb5rFdX7cIdx1WlHJsABT7FQ0B14s51r4SsGbwYi2gEgv3+whCtX/M8ldRiGzw== X-Gm-Gg: Acq92OFDAqK2GS9SCKTCJsPplHfALzvCwIZJNr/0D9RQOk7f4Qcw8wg0zkMAGR34L16 CGICn+y8EH8Tm83FztFb33gsMFqgO5vXrwZTN1U5dhGOBrUDtIgnCVdYK479UOLmsmg826uzOMy sqLuSk5PN/IL6yUcw5YL/U8KpVWUD99kbQhESFOfrvIQ0bUfFuRE4hde8gRcHTk35Asdrbp1sfE Yr5rLIySL7uXKd0HceUNq36+TZA++4kLfOf/Hq7k3BhgEUJBplPAjU61VsIOtdaTCIt759oI+lM oBKFbZ1KR330vOSxZ0HbWe80gI+p+1M24olSJRJAEav9a3ZEnpwe/PcMyfbrtLIlYlX84r3KQnA UPJa/LMHNopwCiemXV2fo4raHGnM0qfsyQB8KwLcdMQynQxb9uxGZQMbbXN1SqjR6OdagfU5xIF M3UGceuqQggQR1yrT+duqw9rC2NRnaRaxvog6W3gmDnJDsSQj8quvZdhK6aOJr/IKXk9kERTo= X-Received: by 2002:a17:902:e5c3:b0:2bd:63cb:c5be with SMTP id d9443c01a7336-2c1a1709205mr1628775ad.5.1780559961216; Thu, 04 Jun 2026 00:59:21 -0700 (PDT) Received: from google.com (199.255.142.34.bc.googleusercontent.com. [34.142.255.199]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84282882156sm5075307b3a.33.2026.06.04.00.59.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 00:59:20 -0700 (PDT) Date: Thu, 4 Jun 2026 07:59:14 +0000 From: Pranjal Shrivastava To: Anna Schumaker Cc: linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org, Trond Myklebust , Christoph Hellwig , Christoph Hellwig , Shivaji Kant Subject: Re: [PATCH v1 6/7] nfs: Optimize direct I/O to use folios for requests Message-ID: References: <20260603053033.3300318-1-praan@google.com> <20260603053033.3300318-7-praan@google.com> <29a0511d-5216-46f2-a7e4-9c04ae9b1890@app.fastmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <29a0511d-5216-46f2-a7e4-9c04ae9b1890@app.fastmail.com> On Wed, Jun 03, 2026 at 03:14:35PM -0400, Anna Schumaker wrote: > Hi Pranjal, > > On Wed, Jun 3, 2026, at 1:30 AM, Pranjal Shrivastava wrote: > > Optimize nfs_direct_extract_pages() to group contiguous pages from the > > same folio into single nfs_page structures. This effectively migrates > > NFS Direct I/O from being page-based to being folio-based. > > > > Reduce the number of nfs_page allocations and subsequent iterations > > by utilizing nfs_page_create_from_folio() to create aggregated > > requests. > > I am seeing a LOT of failing xfstests after applying this patch (testing > against various NFS versions over TCP with AUTH_SYS): > > +-------------+-----------+-------------+-------------+-------------+ > | testcase | tcp-sys-3 | tcp-sys-4.0 | tcp-sys-4.1 | tcp-sys-4.2 | > +-------------+-----------+-------------+-------------+-------------+ > | generic/091 | failure | failure | failure | failure | > | generic/130 | failure | failure | failure | failure | > | generic/139 | skipped | skipped | skipped | failure | > | generic/143 | skipped | skipped | skipped | failure | > | generic/154 | skipped | skipped | skipped | failure | > | generic/155 | skipped | skipped | skipped | failure | > | generic/183 | skipped | skipped | skipped | failure | > | generic/188 | skipped | skipped | skipped | failure | > | generic/190 | skipped | skipped | skipped | failure | > | generic/196 | skipped | skipped | skipped | failure | > | generic/198 | failure | failure | failure | failure | > | generic/203 | skipped | skipped | skipped | failure | > | generic/214 | skipped | skipped | skipped | failure | > | generic/240 | failure | failure | failure | failure | > | generic/263 | failure | failure | failure | failure | > | generic/287 | skipped | skipped | skipped | failure | > | generic/290 | skipped | skipped | skipped | failure | > | generic/292 | skipped | skipped | skipped | failure | > | generic/330 | skipped | skipped | skipped | failure | > | generic/444 | failure | skipped | skipped | skipped | > | generic/450 | failure | failure | failure | failure | > | generic/451 | failure | failure | failure | failure | > | generic/586 | skipped | skipped | skipped | failure | > | generic/647 | failure | failure | failure | failure | > | generic/708 | failure | failure | failure | failure | > | generic/729 | failure | failure | failure | failure | > | generic/760 | failure | failure | failure | failure | > +-------------+-----------+-------------+-------------+-------------+ > > I'm curious if you've run xfstests against your changes, and if you > see the same failures? > Hi Anna, I've just run fio and haven't run xfstests (sorry wasn't aware of them) I suppose it's this one [1] ? I will set up the environment. Given that generic/091 (fsx) is failing across the board, I suspect there is an error in the contiguous grouping logic in Patch 6, likely the offset calculation or handles partial page boundaries. I'll run xfstest with this patch and confirm. Would you suggest breaking out the move to folio in a separate series if patches 1-5 work fine? > Thanks, > Anna > [...] Thanks, Praan [1] https://wiki.linux-nfs.org/wiki/index.php/Xfstests