On Fri, Nov 13, 2020 at 05:14:52PM -0800, Andrew Morton wrote: > On Fri, 13 Nov 2020 18:02:39 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > Hi all, > > > > After merging the akpm tree, today's linux-next build (i386 defconfig) > > failed like this: > > > > mm/secretmem.c: In function 'secretmem_memcg_charge': > > mm/secretmem.c:72:4: error: 'struct page' has no member named 'memcg_data' > > 72 | p->memcg_data = page->memcg_data; > > | ^~ > > mm/secretmem.c:72:23: error: 'struct page' has no member named 'memcg_data' > > 72 | 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' > > 86 | p->memcg_data = 0; > > | ^~ > > > > ... > > > > --- a/mm/secretmem.c > > +++ b/mm/secretmem.c > > @@ -69,7 +69,9 @@ static int secretmem_memcg_charge(struct page *page, gfp_t gfp, int order) > > for (i = 1; i < nr_pages; i++) { > > struct page *p = page + i; > > > > +#ifdef CONFIG_MEMCG > > p->memcg_data = page->memcg_data; > > +#endif > > } > > > > return 0; > > Thanks, that'll work for now. > > I guess we're looking at adding a set_page_memcg() (I'd prefer > page_memcg_set()). > > But probably these functions shouldn't be compiled at all if > CONFIG_MEMCG=n. My preference would be to put the entire function body in '#ifdef CONFIG_MEMCG' here. -- Sincerely yours, Mike.