Re: [RFC] mm/swap.c: Enable promotion of unmapped MGLRU page cache pages

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

 



On Wed, Jan 15, 2025 at 06:06:25AM -0600, Donet Tom wrote:
> An MGLRU page cache page is eligible for promotion when:
> 
> 1. Memory Tiering and pagecache_promotion_enabled are enabled
> 2. It resides in a lower memory tier.
> 3. It is referenced.
> 4. It is part of the working set.
> 5. It belongs to the active list.
> For MGLRU, the youngest generation and the youngest generation - 1
> are treated as the active list.

... why do you only promote folios if they belong to a memcg?

> +promo_candid:
> +	if (!folio_test_isolated(folio) &&
> +		(sysctl_numa_balancing_mode & NUMA_BALANCING_MEMORY_TIERING) &&
> +		numa_pagecache_promotion_enabled) {
> +		memcg = folio_memcg(folio);
> +		if (memcg) {
> +			lruvec = mem_cgroup_lruvec(memcg, folio_pgdat(folio));
> +			gen = folio_lru_gen(folio);
> +
> +			if ((gen < MAX_NR_GENS) && lru_gen_is_active(lruvec, gen))
> +				promotion_candidate(folio);
> +		}

Should there be an 'else' clause here?  Or should it be:

		lruvec = mem_cgroup_lruvec(memcg, folio_pgdat(folio));
		gen = folio_lru_gen(folio);
		if ((gen < MAX_NR_GENS) && lru_gen_is_active(lruvec, gen))
			promotion_candidate(folio);





[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