[PATCH v16 08/11] secretmem: add memcg accounting
Michal Hocko
mhocko at suse.com
Mon Jan 25 11:54:51 EST 2021
On Thu 21-01-21 14:27:20, Mike Rapoport wrote:
> From: Mike Rapoport <rppt at linux.ibm.com>
>
> Account memory consumed by secretmem to memcg. The accounting is updated
> when the memory is actually allocated and freed.
What does this mean? What are the lifetime rules?
[...]
> +static int secretmem_account_pages(struct page *page, gfp_t gfp, int order)
> +{
> + int err;
> +
> + err = memcg_kmem_charge_page(page, gfp, order);
> + if (err)
> + return err;
> +
> + /*
> + * seceremem caches are unreclaimable kernel allocations, so treat
> + * them as unreclaimable slab memory for VM statistics purposes
> + */
> + mod_lruvec_page_state(page, NR_SLAB_UNRECLAIMABLE_B,
> + PAGE_SIZE << order);
A lot of memcg accounted memory is not reclaimable. Why do you abuse
SLAB counter when this is not a slab owned memory? Why do you use the
kmem accounting API when __GFP_ACCOUNT should give you the same without
this details?
--
Michal Hocko
SUSE Labs
More information about the linux-riscv
mailing list