On (08/29/19 14:28), Jiri Slaby wrote: [..] > as is its definition in the structure (and its other uses). > > > ./include/linux/wait.h:67:26: note: in definition of macro ‘init_waitqueue_head’ > > __init_waitqueue_head((wq_head), #wq_head, &__key); \ > > ^~~~~~~ > > scripts/Makefile.build:278: recipe for target 'mm/zsmalloc.o' failed > > make[1]: *** [mm/zsmalloc.o] Error 1 > > Makefile:1073: recipe for target 'mm' failed > > > > You can find my configuration file attached. > > You forgot to attach it, but you have CONFIG_COMPACTION=n, I assume. > > > Does anybody have any idea about this ? > > Sure, this will fix it (or turn on compaction): > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -2413,7 +2413,9 @@ struct zs_pool *zs_create_pool(const char *name) > if (!pool->name) > goto err; > > +#ifdef CONFIG_COMPACTION > init_waitqueue_head(&pool->migration_wait); > +#endif The fix is correct. I believe Andrew already has the same patch in his tree. -ss