Re: [PATCH] mm/gup: don't check page lru flag before draining it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





在 2024/6/9 上午12:03, David Hildenbrand 写道:
On 08.06.24 17:15, Matthew Wilcox wrote:
On Sat, Jun 08, 2024 at 12:38:49PM +0800, yangge1116 wrote:
Can we add a PG_lru_batch flag to determine whether a page is in lru batch?
If we can, seems this problem will be easier.

Page flags are in short supply.  You'd need a really good justification.


A flag would not be able to handle the "part of multiple LRU batches" that should currently possible (when to clear the flag?). Well, if we have to keep supporting that. If we only to be part in a single LRU batch, a new flag could work and we could still allow isolating a folio from LRU while in some LRU batch.

Yes, before adding a folio to LRU batch, check whether the folio has been added. Add the folio to LRU batch only if the folio has not been added.


If we could handle it using the existing flags, that would of course be better (wondering if we could store more information in the existing flags by using a different encoding for the different states).

If a folio contains more than one page, the folio will not be added to LRU batch. Can we use folio_test_large(folio) to filter?

if (!folio_test_large(folio) && drain_allow) {
	lru_add_drain_all();
	drain_allow = false;
}


The temporary clearing of the LRU flag we do right now tells me that it's already not 100% reliable, so the question is how much more unreliable we can make it before it would hurt :)






[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux