All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Pankaj Raghav <p.raghav@samsung.com>
Cc: Christoph Hellwig <hch@infradead.org>,
	hubcap@omnibond.com, senozhatsky@chromium.org,
	martin@omnibond.com, willy@infradead.org, minchan@kernel.org,
	viro@zeniv.linux.org.uk, brauner@kernel.org, axboe@kernel.dk,
	akpm@linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, gost.dev@samsung.com, mcgrof@kernel.org,
	devel@lists.orangefs.org
Subject: Re: [RFC PATCH 1/3] filemap: convert page_endio to folio_endio
Date: Thu, 16 Mar 2023 08:24:04 -0700	[thread overview]
Message-ID: <ZBM0lPycYm2X0Tfp@infradead.org> (raw)
In-Reply-To: <d6cde35e-359a-e837-d2e0-f2bd362f2c3e@samsung.com>

On Thu, Mar 16, 2023 at 11:04:54AM +0100, Pankaj Raghav wrote:
> It looks like this endio function is called when alloc_page is used (for
> partial IO) to trigger writeback from the user space `echo "idle" >
> /sys/block/zram0/writeback`.


Yes.

> I don't understand when you say the harm might not be horrible if we don't
> call folio_endio here. Do you think it is just safe to remove the call to
> folio_endio function?

I suspect so.  It doesn't seem like the involved pages are ever locked
or have the writeback set, so it should be fine.

> +               while ((folio = readahead_folio(rac))) {
> +                       folio_clear_uptodate(folio);
> +                       folio_set_error(folio);
> +                       folio_unlock(folio);
> +               }
> +               return;
> +       }
> +
> +       while ((folio = readahead_folio(rac))) {
> +               folio_mark_uptodate(folio);
> +               folio_unlock(folio);
>         }
>  }

Looks good.

> @@ -59,7 +59,8 @@ static void mpage_end_io(struct bio *bio)
> static struct bio *mpage_bio_submit(struct bio *bio)
>  {
> -       bio->bi_end_io = mpage_end_io;
> +       bio->bi_end_io = (op_is_write(bio_op(bio))) ? mpage_write_end_io :
> +                                                     mpage_read_end_io;
>         guard_bio_eod(bio);
>         submit_bio(bio);
>         return NULL;
> And mpage_{write,read}_end_io will iterate over the folio and call the
> respective functions.

Yes, although I'd do it with a good old if/else and with less braces.
It might make sense to split mpage_bio_submit as well, though.

  reply	other threads:[~2023-03-16 15:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20230315123234eucas1p179bf8c0583a71d91bef7e909d7ec6504@eucas1p1.samsung.com>
2023-03-15 12:32 ` [RFC PATCH 0/3] convert page_endio to folio_endio Pankaj Raghav
2023-03-15 12:32   ` [RFC PATCH 1/3] filemap: " Pankaj Raghav
2023-03-15 14:46     ` Luis Chamberlain
2023-03-15 14:51     ` Hannes Reinecke
2023-03-15 14:56     ` Christoph Hellwig
2023-03-16 10:04       ` Pankaj Raghav
2023-03-16 15:24         ` Christoph Hellwig [this message]
2023-03-17 15:31         ` Matthew Wilcox
2023-03-17 16:14           ` Pankaj Raghav
2023-03-21 13:51             ` Pankaj Raghav
2023-03-15 12:32   ` [RFC PATCH 2/3] mpage: use bio_for_each_folio_all in mpage_end_io() Pankaj Raghav
2023-03-15 14:47     ` Luis Chamberlain
2023-03-15 14:52     ` Hannes Reinecke
2023-03-15 16:08       ` Matthew Wilcox
2023-03-16 10:07         ` Pankaj Raghav
2023-03-15 12:32   ` [RFC PATCH 3/3] orangefs: use folio in orangefs_readahead() Pankaj Raghav
2023-03-15 14:48     ` Luis Chamberlain
2023-03-15 16:05     ` Matthew Wilcox

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=ZBM0lPycYm2X0Tfp@infradead.org \
    --to=hch@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 \
    --cc=willy@infradead.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.