* Re: [PATCH] zsmalloc: reorganize struct size_class to pack 4 bytes hole [not found] <"000001d133d3$b75f09b0$261d1d10$@yang"@samsung.com> @ 2015-12-11 6:14 ` Sergey Senozhatsky 0 siblings, 0 replies; 2+ messages in thread From: Sergey Senozhatsky @ 2015-12-11 6:14 UTC (permalink / raw) To: Weijie Yang Cc: 'Andrew Morton', 'Minchan Kim', sergey.senozhatsky.work, ngupta, linux-mm, linux-kernel Cc linux-mm and linux-kernel On (12/11/15 13:20), Weijie Yang wrote: > > Reoder the pages_per_zspage field in struct size_class which can eliminate > the 4 bytes hole between it and stats field. > Looks good to me. Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> > Signed-off-by: Weijie Yang <weijie.yang@samsung.com> > --- > mm/zsmalloc.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 9f15bdd..e7414ce 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -213,10 +213,10 @@ struct size_class { > int size; > unsigned int index; > > - /* Number of PAGE_SIZE sized pages to combine to form a 'zspage' */ > - int pages_per_zspage; > struct zs_size_stat stats; > > + /* Number of PAGE_SIZE sized pages to combine to form a 'zspage' */ > + int pages_per_zspage; > /* huge object: pages_per_zspage == 1 && maxobj_per_zspage == 1 */ > bool huge; > }; we also can re-order `struct zs_pool' -- `gfp_t flags' and `bool shrinker_enabled' will be fine together. I can send a separate patch of we can fold the one below. I'm good either way. --- diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 9f15bdd..2a3af25 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -246,19 +246,17 @@ struct zs_pool { struct size_class **size_class; struct kmem_cache *handle_cachep; - - gfp_t flags; /* allocation flags used when growing pool */ - atomic_long_t pages_allocated; - struct zs_pool_stats stats; - - /* Compact classes */ - struct shrinker shrinker; + atomic_long_t pages_allocated; + /* allocation flags used when growing pool */ + gfp_t flags; /* * To signify that register_shrinker() was successful * and unregister_shrinker() will not Oops. */ bool shrinker_enabled; + /* Compact classes */ + struct shrinker shrinker; #ifdef CONFIG_ZSMALLOC_STAT struct dentry *stat_dentry; #endif -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> ^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] zsmalloc: reorganize struct size_class to pack 4 bytes hole @ 2015-12-11 6:14 ` Sergey Senozhatsky 0 siblings, 0 replies; 2+ messages in thread From: Sergey Senozhatsky @ 2015-12-11 6:14 UTC (permalink / raw) To: Weijie Yang Cc: 'Andrew Morton', 'Minchan Kim', sergey.senozhatsky.work, ngupta, linux-mm, linux-kernel Cc linux-mm and linux-kernel On (12/11/15 13:20), Weijie Yang wrote: > > Reoder the pages_per_zspage field in struct size_class which can eliminate > the 4 bytes hole between it and stats field. > Looks good to me. Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> > Signed-off-by: Weijie Yang <weijie.yang@samsung.com> > --- > mm/zsmalloc.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index 9f15bdd..e7414ce 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -213,10 +213,10 @@ struct size_class { > int size; > unsigned int index; > > - /* Number of PAGE_SIZE sized pages to combine to form a 'zspage' */ > - int pages_per_zspage; > struct zs_size_stat stats; > > + /* Number of PAGE_SIZE sized pages to combine to form a 'zspage' */ > + int pages_per_zspage; > /* huge object: pages_per_zspage == 1 && maxobj_per_zspage == 1 */ > bool huge; > }; we also can re-order `struct zs_pool' -- `gfp_t flags' and `bool shrinker_enabled' will be fine together. I can send a separate patch of we can fold the one below. I'm good either way. --- diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c index 9f15bdd..2a3af25 100644 --- a/mm/zsmalloc.c +++ b/mm/zsmalloc.c @@ -246,19 +246,17 @@ struct zs_pool { struct size_class **size_class; struct kmem_cache *handle_cachep; - - gfp_t flags; /* allocation flags used when growing pool */ - atomic_long_t pages_allocated; - struct zs_pool_stats stats; - - /* Compact classes */ - struct shrinker shrinker; + atomic_long_t pages_allocated; + /* allocation flags used when growing pool */ + gfp_t flags; /* * To signify that register_shrinker() was successful * and unregister_shrinker() will not Oops. */ bool shrinker_enabled; + /* Compact classes */ + struct shrinker shrinker; #ifdef CONFIG_ZSMALLOC_STAT struct dentry *stat_dentry; #endif ^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-12-11 6:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <"000001d133d3$b75f09b0$261d1d10$@yang"@samsung.com>
2015-12-11 6:14 ` [PATCH] zsmalloc: reorganize struct size_class to pack 4 bytes hole Sergey Senozhatsky
2015-12-11 6:14 ` Sergey Senozhatsky
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.