Re: [PATCH 07/17] writeback: Factor writeback_get_batch() out of write_cache_pages()

From: Christoph Hellwig
Date: Thu Dec 21 2023 - 07:22:48 EST


On Thu, Dec 21, 2023 at 12:17:43PM +0100, Jan Kara wrote:
> > +static void writeback_get_batch(struct address_space *mapping,
> > + struct writeback_control *wbc)
> > +{
> > + folio_batch_release(&wbc->fbatch);
> > + cond_resched();
>
> I'd prefer to have cond_resched() explicitely in the writeback loop instead
> of hidden here in writeback_get_batch() where it logically does not make
> too much sense to me...

Based on the final state after this series, where would you place it?

(That beeing said there is a discussion underway on lkml to maybe
kill cond_resched entirely as part of sorting out the preemption
model mess, at that point this would become a moot point anyway)

> > } else {
> > - index = wbc->range_start >> PAGE_SHIFT;
> > + wbc->index = wbc->range_start >> PAGE_SHIFT;
> > end = wbc->range_end >> PAGE_SHIFT;
> > }
>
> Maybe we should have:
> end = wbc_end(wbc);
>
> when we have the helper? But I guess this gets cleaned up in later patches
> anyway so whatever.

Yeah, this end just goes away. I can convert it here, but that feels
like pointless churn to me.