Re: [PATCH 1/1] mm: reducing page_owner structure size

From: Vlastimil Babka
Date: Tue Oct 10 2017 - 05:34:51 EST


On 10/10/2017 10:25 AM, Ayush Mittal wrote:
> Maximum page order can be at max 10 which can be accomodated
> in short data type(2 bytes).
> last_migrate_reason is defined as enum type whose values can
> be accomodated in short data type (2 bytes).
>
> Total structure size is currently 16 bytes but after changing structure
> size it goes to 12 bytes.
>
> Signed-off-by: Ayush Mittal <ayush.m@xxxxxxxxxxx>

Looks like it works, so why not.
Before:
[ 0.001000] allocated 50331648 bytes of page_ext
After:
[ 0.001000] allocated 41943040 bytes of page_ext

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
> mm/page_owner.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/page_owner.c b/mm/page_owner.c
> index 0fd9dcf..4ab438a 100644
> --- a/mm/page_owner.c
> +++ b/mm/page_owner.c
> @@ -19,9 +19,9 @@
> #define PAGE_OWNER_STACK_DEPTH (16)
>
> struct page_owner {
> - unsigned int order;
> + unsigned short order;
> + short last_migrate_reason;
> gfp_t gfp_mask;
> - int last_migrate_reason;
> depot_stack_handle_t handle;
> };
>
>