From: Matthew Wilcox <willy@infradead.org>
To: Pankaj Raghav <p.raghav@samsung.com>
Cc: senozhatsky@chromium.org, viro@zeniv.linux.org.uk,
axboe@kernel.dk, brauner@kernel.org, akpm@linux-foundation.org,
minchan@kernel.org, hubcap@omnibond.com, martin@omnibond.com,
mcgrof@kernel.org, devel@lists.orangefs.org, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-block@vger.kernel.org, gost.dev@samsung.com
Subject: Re: [RFC v2 0/5] remove page_endio()
Date: Wed, 22 Mar 2023 19:09:46 +0000 [thread overview]
Message-ID: <ZBtSevjWLybE6S07@casper.infradead.org> (raw)
In-Reply-To: <20230322135013.197076-1-p.raghav@samsung.com>
On Wed, Mar 22, 2023 at 02:50:08PM +0100, Pankaj Raghav wrote:
> It was decided to remove the page_endio() as per the previous RFC
> discussion[1] of this series and move that functionality into the caller
> itself. One of the side benefit of doing that is the callers have been
> modified to directly work on folios as page_endio() already worked on
> folios.
>
> mpage changes were tested with a simple boot testing. zram and orangefs is
> only build tested. No functional changes were introduced as a part of
> this AFAIK.
>
> Open questions:
> - Willy pointed out that the calls to folio_set_error() and
> folio_clear_uptodate() are not needed anymore in the read path when an
> error happens[2]. I still don't understand 100% why they aren't needed
> anymore as I see those functions are still called in iomap. It will be
> good to put that rationale as a part of the commit message.
page_endio() was generic. It needed to handle a lot of cases. When it's
being inlined into various completion routines, we know which cases we
need to handle and can omit all the cases which we don't.
We know the uptodate flag is clear. If the uptodate flag is set,
we don't call the filesystem's read path. Since we know it's clear,
we don't need to clear it.
We don't need to set the error flag. Only some filesystems still use
the error flag, and orangefs isn't one of them. I'd like to get rid
of the error flag altogether, and I've sent patches in the past which
get us a lot closer to that desired outcome. Not sure we're there yet.
Regardless, generic code doesn't check the error flag.
next prev parent reply other threads:[~2023-03-22 19:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230322135015eucas1p2ff980e76159f0ceef7bf66934580bd6c@eucas1p2.samsung.com>
2023-03-22 13:50 ` Pankaj Raghav
[not found] ` <CGME20230322135015eucas1p1bd186e83b322213cc852c4ad6eb47090@eucas1p1.samsung.com>
2023-03-22 13:50 ` [RFC v2 1/5] zram: remove zram_page_end_io function Pankaj Raghav
2023-03-23 10:35 ` Christoph Hellwig
2023-03-23 15:50 ` Pankaj Raghav
[not found] ` <CGME20230322135016eucas1p2ee1b64175f621ee425f7f48cb908dc20@eucas1p2.samsung.com>
2023-03-22 13:50 ` [RFC v2 2/5] orangefs: use folios in orangefs_readahead Pankaj Raghav
[not found] ` <CGME20230322135017eucas1p1350c6e130fa367263432fa35894bdf1e@eucas1p1.samsung.com>
2023-03-22 13:50 ` [RFC v2 3/5] mpage: split bi_end_io callback for reads and writes Pankaj Raghav
[not found] ` <CGME20230322135017eucas1p2d29ffaf8dbbd79761ba56e8198d9c933@eucas1p2.samsung.com>
2023-03-22 13:50 ` [RFC v2 4/5] mpage: use folios in bio end_io handler Pankaj Raghav
2023-03-22 14:19 ` Matthew Wilcox
[not found] ` <CGME20230322135018eucas1p2dd82762cf7d2c0c5b5482a1d150ba369@eucas1p2.samsung.com>
2023-03-22 13:50 ` [RFC v2 5/5] filemap: remove page_endio() Pankaj Raghav
2023-03-22 19:09 ` Matthew Wilcox [this message]
2023-03-23 15:00 ` [RFC v2 0/5] " Pankaj Raghav
2023-03-23 15:33 ` Matthew Wilcox
2023-03-23 16:16 ` Pankaj Raghav
2023-03-23 14:30 ` Mike Marshall
2023-03-23 16:22 ` Pankaj Raghav
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZBtSevjWLybE6S07@casper.infradead.org \
--to=willy@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=brauner@kernel.org \
--cc=devel@lists.orangefs.org \
--cc=gost.dev@samsung.com \
--cc=hubcap@omnibond.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=martin@omnibond.com \
--cc=mcgrof@kernel.org \
--cc=minchan@kernel.org \
--cc=p.raghav@samsung.com \
--cc=senozhatsky@chromium.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox