[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fd3fe780-1a1b-1ba7-1725-72286470ce4c@gmail.com>
Date: Thu, 22 Jul 2021 16:45:59 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linux-fsdevel@...r.kernel.org, "Theodore Y. Ts'o" <tytso@....edu>
Subject: Re: [PATCH v14 062/138] mm/migrate: Add folio_migrate_copy()
22.07.2021 15:29, Matthew Wilcox пишет:
> On Thu, Jul 22, 2021 at 02:52:28PM +0300, Dmitry Osipenko wrote:
...
> The obvious solution is just to change folio_copy():
>
> {
> - unsigned i, nr = folio_nr_pages(src);
> + unsigned i = 0;
> + unsigned nr = folio_nr_pages(src);
>
> - for (i = 0; i < nr; i++) {
> - cond_resched();
> + for (;;) {
> copy_highpage(folio_page(dst, i), folio_page(src, i));
> + if (i++ == nr)
This works with the ++i precedence change. Thanks!
> + break;
> + cond_resched();
> }
> }
>
> now it only calls cond_resched() for multi-page folios.
...
Thank you for the explanation and for the fix!
The fs/ and mm/ are mostly outside of my scope, hope you'll figure out
the buffer-head case soon.
Powered by blists - more mailing lists