Re: mmotm 2020-11-16-16-47 uploaded (m/secretmem.c)

From: Stephen Rothwell
Date: Mon Nov 16 2020 - 23:29:42 EST


Hi all,

On Mon, 16 Nov 2020 20:20:12 -0800 Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> on x86_64:
>
> as reported on 2020-11-12:
>
> when CONFIG_MEMCG is not set:
>
> ../mm/secretmem.c: In function ‘secretmem_memcg_charge’:
> ../mm/secretmem.c:72:4: error: ‘struct page’ has no member named ‘memcg_data’
> p->memcg_data = page->memcg_data;
> ^~
> ../mm/secretmem.c:72:23: error: ‘struct page’ has no member named ‘memcg_data’
> p->memcg_data = page->memcg_data;
> ^~
> ../mm/secretmem.c: In function ‘secretmem_memcg_uncharge’:
> ../mm/secretmem.c:86:4: error: ‘struct page’ has no member named ‘memcg_data’
> p->memcg_data = 0;
> ^~

(As I said earlier today,) I will apply the following to linux-next today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Mon, 16 Nov 2020 16:55:10 +1100
Subject: [PATCH] secretmem-add-memcg-accounting-fix2

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
mm/secretmem.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/mm/secretmem.c b/mm/secretmem.c
index 5ed6b2070136..c7a37b2d01ed 100644
--- a/mm/secretmem.c
+++ b/mm/secretmem.c
@@ -59,6 +59,7 @@ bool secretmem_active(void)

static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order)
{
+#ifdef CONFIG_MEMCG
unsigned long nr_pages = (1 << order);
int i, err;

@@ -72,11 +73,13 @@ static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order)
p->memcg_data = page->memcg_data;
}

+#endif
return 0;
}

static void secretmem_memcg_uncharge(struct page *page, int order)
{
+#ifdef CONFIG_MEMCG
unsigned long nr_pages = (1 << order);
int i;

@@ -87,6 +90,7 @@ static void secretmem_memcg_uncharge(struct page *page, int order)
}

memcg_kmem_uncharge_page(page, PMD_PAGE_ORDER);
+#endif
}

static int secretmem_pool_increase(struct secretmem_ctx *ctx, gfp_t gfp)
--
2.29.2

--
Cheers,
Stephen Rothwell

Attachment: pgpdxVo8LwX1f.pgp
Description: OpenPGP digital signature