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 <[email protected]>

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 <[email protected]>

> ---
>  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;
>  };
>  
> 

Reply via email to