From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5978E77188 for ; Tue, 14 Jan 2025 19:12:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 234586B009C; Tue, 14 Jan 2025 14:12:57 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BC746B009D; Tue, 14 Jan 2025 14:12:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 00F166B009E; Tue, 14 Jan 2025 14:12:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id D3F3A6B009C for ; Tue, 14 Jan 2025 14:12:56 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 554301C7B91 for ; Tue, 14 Jan 2025 19:12:56 +0000 (UTC) X-FDA: 83007004752.20.A598F14 Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by imf06.hostedemail.com (Postfix) with ESMTP id 7808318000A for ; Tue, 14 Jan 2025 19:12:54 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jHdlJpYr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736881974; a=rsa-sha256; cv=none; b=3O7qGX1KvhF6zLwJItdh5hr01QCV+7d8fhLBcqk1kMMwQmrHtqIsmceBqzbSjARyUdxn4G 3dVEKWf2cv199xRlhRSzgHzkp4PwL1vktHbU0hl+eAgLWDfXAwYwNMQmmlNbAim8t44x/J RkWMKaw4kU+e9ysxKQLL2kRIgdE4bRI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=jHdlJpYr; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf06.hostedemail.com: domain of joannelkoong@gmail.com designates 209.85.160.169 as permitted sender) smtp.mailfrom=joannelkoong@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736881974; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2mBS0wqI+0SGqangzQFwVg3w3sgRgLH5mRc/giHD7Bo=; b=Sp6f3z1dvo5tksEoiK7vaG7Q6ox0WlMHlxHaIu5hn+6PdDFYBFf1sSR6w8f27HMqTB/R50 h8+pYVE8w7uGRkz21s6nAjxe1pUY6nYhtuet+HuLOrjvDxLZ6l3DNh23k3pl8A1t4SYemG HuIp3mu9U3IWhU9oT+AZpGSz3z7lXvI= Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-467a1d43821so866381cf.1 for ; Tue, 14 Jan 2025 11:12:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736881973; x=1737486773; darn=kvack.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=2mBS0wqI+0SGqangzQFwVg3w3sgRgLH5mRc/giHD7Bo=; b=jHdlJpYrO/1WbOmhG/cVllYyzpytxEOLYYgyJgAWIlqMYbBGafQzAdniD+MQ7R7AhI kDh3lhZYW77UDGoAWm1NYYUVG20ZZSLGuoXyXHctnMyY9+eWHOTSalEvKqBhT+lSOGRA vh/D/yOhUHnyucRjnnEY0Fpq6683PQdnyPS+fSzohF3V410UYHQIxuLIkrZz2e/SaAcI s2s1Qg1shFz449dC8VfMJceDxhhYQPi9NAq/ooi++5kSSgAacFjXTnYe7gnffA8U8PDC hCU8PTLcg2yzEVVfCkpvsNoIvlkO1lEmUYsGOY9zu+SFt2nlPMsIGRntbMZ03sR1sA7f Yorg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736881973; x=1737486773; 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=2mBS0wqI+0SGqangzQFwVg3w3sgRgLH5mRc/giHD7Bo=; b=Rv0aoa69Fyj4YKUK5PqyFQABnv2wVKHFaTb8xTK0QH0rnwQWJthRwBW17cczFFDH+p uw74qLwMmjafny6GXptrArtcGCE6FXvwnEfXS32IqQz2Xm4Qoa3W2bFFMl+dCYtFLbJF JV5Yp61o7fam/An0PG5bMLHtyYLDkQ9HbOWQguNS/xszEFyJlNqd0o4Ls3Gjfd0L8b21 ZBi1H9wWZjwKhod78QaYHiYPn8oPSkvPdaiKZROk8Blyjg/FWXMN1l5Y/DMKCGLFrYyl lTVu27Qc2URA/5V6e94aQy8MTAg+xbFrd2rvBCblJFfamDaA2rVxZzcg9CNpb5WDR6jg v0xg== X-Forwarded-Encrypted: i=1; AJvYcCVTHXzyiIwgDTIaLcY2WFiTksz2v6mPXNqRxtvwgaMZuw/dHzYZ+g1ZdjckJXBqjwDQegntqASBQA==@kvack.org X-Gm-Message-State: AOJu0Yy4+NfYA6xWcTQRSuCXQtwdoFTciNuv7KVnRwTMZMaVsNMRrUJM jT6vNWu1kjPfNWT8tcUJ0G9YVKjgFViCTLkOhHP2ZrQMAjq51wIOqzAZxCLf2VN7m0m81QvTybM 4ehYWdmUheS0I/qY1+sWqSbLkLEI= X-Gm-Gg: ASbGncuxKjoNMQWBmtMrznxW1jCyeHvqVZqyrpT4FrxUaYrVgQ5djIM43fFxN4sYqZR rgDcoFnVNjVru+J8KxEWeaG0FLLOXM/+4VWuo+aY= X-Google-Smtp-Source: AGHT+IEsfYngC2BAm00C0vhfxNAqFwj4YJQhBle+uDFlA1uBjfHUWgl7UbH7TSTR79c69OT4TA0h0qs+2gMtHFWS/f4= X-Received: by 2002:a05:622a:1483:b0:467:6563:8b1d with SMTP id d75a77b69052e-46df5671d1amr1888271cf.6.1736881973496; Tue, 14 Jan 2025 11:12:53 -0800 (PST) MIME-Version: 1.0 References: <791d4056-cac1-4477-a8e3-3a2392ed34db@redhat.com> <1fdc9d50-584c-45f4-9acd-3041d0b4b804@redhat.com> <54ebdef4205781d3351e4a38e5551046482dbba0.camel@kernel.org> <2848b566-3cae-4e89-916c-241508054402@redhat.com> <060f4540-6790-4fe2-a4a5-f65693058ebf@fastmail.fm> In-Reply-To: From: Joanne Koong Date: Tue, 14 Jan 2025 11:12:42 -0800 X-Gm-Features: AbW1kvYfIptYB80d0Obh6Tcvl_vocwIUR7F5ngQt6KtSP6gHy7FIJTyuSL5hIYI Message-ID: Subject: Re: [PATCH v6 4/5] mm/migrate: skip migrating folios under writeback with AS_WRITEBACK_INDETERMINATE mappings To: Miklos Szeredi Cc: Bernd Schubert , Jeff Layton , David Hildenbrand , Shakeel Butt , Zi Yan , linux-fsdevel@vger.kernel.org, jefflexu@linux.alibaba.com, josef@toxicpanda.com, linux-mm@kvack.org, kernel-team@meta.com, Matthew Wilcox , Oscar Salvador , Michal Hocko Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7808318000A X-Stat-Signature: 7gezh6tiyu9gink6qqw33gtd385wg5tk X-Rspam-User: X-HE-Tag: 1736881974-738189 X-HE-Meta: U2FsdGVkX19S+ufwy2TiFc3m1kYycSfz3ocyQfpylLZnDtnS48pP4bKdg7dhfTFOIq6OUSeiuByy9Vj7e5NFjNZm9me47s0+K6BhAzL4writ1D8MlKcgL6thgBGumW5EIC7Xg5JvE9x6NlS63tCO+YWIfSEokqyz44nyBrotyRYWgY1lstVdziX1Hf6tcwVxivxaZLRIZ8o6H7ja8faXybu+UjccXXOPJEoEiHoMFCYES5cvxZrc+r6v75pd1YJ7Zz1jreBqu/tBoEb+GrJfAbFcEudOE+Bc9H4N0qfGWDVSc7a5L43ef1rlF7dXwuzfmzmo2REU2L7Lz8Cs+dmjrJctW9TBA4SjB9NtXWI7Z+dURTGQucPa4p9RrYQ4Qfm6b2ctJAaqDsLRdRD6WxfcGdMOqXHl07Zjby8T6kUiitaBL0G4Ns0U84vZ7uyDToqhYuCVYj5ZtMqt0vVrU8aV+o5D+qPRmpNiLR1dfdl/11eVZpYsSL6zIvy6FVVI4v7SwG2Rh7yXqH1o7Sowqujggf5UnKCXx8v413CFif0iHed4FV5KTH+d9xLseV0vRalHUI6HGeo7mJMG4bETW1omsy+nkQHb6Pbab50V0w/ORV0L4JbGTyQl88zZgTCjyOrfhTe4f9wj0rXRSadPzZ89AMG+hj24bqX3iZnYZs/h+yItRmQ7dp+RtfgB7DmadITwzz7vaQUfsCVnO92g7MvRXrg+bZAn23sestSpPwTgGGSmGyHY0hSdhXeSupJSrXChqVgsz8em8/I4tI3gJT0s81z3Po3OwFMs+wuk8IKNZFoc9drGuJpYwDT7/g/fuQWDJxXEe+zxMTpGe9FLbO6sRw6oOZW0/TEM9NGktJCvb2Z9nvWJHMvf7oJUaStXVUcdPJeamakjRMTIUTUV10yQgq7WIUlcOdBBt67bkh1O2i8gNFGY4yBLVMcXUui3/mgV3EtzOuF+nVAyQke0Bxh RL+PwYSG rdmbqo1j5yeGj3zu1YVEJDkjPFLcWFPOVLOuOcUT8VCogsXaxrSUlrHe/w620jggxk5nwqGgLCuSTKVSScVANTO10VgfYrvf3miY8XALsWYtq5zPbqJUv1csAi1JIAl54oLg4a7jNMWBJaShIlAMOjCEpuzmCpENhRkwV4sIfY4kfnEjvyOan7Sjd2+2dwMAIxrkGld14Ump9pXTHgbKQleJxGPHy+PVj7NzeqU3aEkvbllcCSQX+ELC9Wuu31fRJUD6wihZJIkDDdVcU6bj0U4LKa4ZfZMdId0FHhfMhogGkjCgxuRHy08ARVxFhzQsdr7wNEF4A4edYJwK+4JPbTDndOx0LgOUWgjr7yoGAXjRh9J8SwQh/GTfjdbiLu1kCs4tRsQTDm6+m67Q= X-Bogosity: Ham, tests=bogofilter, spamicity=0.007533, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jan 14, 2025 at 10:58=E2=80=AFAM Miklos Szeredi = wrote: > > On Tue, 14 Jan 2025 at 19:08, Joanne Koong wrote= : > > > - my understanding is that the majority of use cases do use splice (eg > > iirc, libfuse does as well), in which case there's no point to this > > patchset then > > If it turns out that non-splice writes are more performant, then > libfuse can be fixed to use non-splice by default. It's not as clear > cut though, since write through (which is also the default in libfuse, > AFAIK) should not be affected by all this, since that never used tmp > pages. My thinking was that spliced writes without tmp pages would be fastest, then non-splice writes w/out tmp pages and spliced writes w/ would be roughly the same. But i'd need to benchmark and verify this assumption. > > > - codewise, imo this gets messy (eg we would still need the rb tree > > and would now need to check writeback against folio writeback state > > and against the rb tree) > > I'm thinking of something slightly different: remove the current tmp > page mess, but instead of duplicating a page ref on splice, fall back > to copying the cache page (see the user_pages case in > fuse_copy_page()). This should have very similar performance to what > we have today, but allows us to deal with page accesses the same way > for both regular and splice I/O on /dev/fuse. If we copy the cache page, do we not have the same issue with needing an rb tree to track writeback state since writeback on the original folio would be immediately cleared? Thanks, Joanne > > Thanks, > Miklos