Re: [PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping

2016-04-19 Thread Minchan Kim
On Mon, Apr 18, 2016 at 12:08:04AM +0900, Sergey Senozhatsky wrote:
> Hello,
> 
> On (03/30/16 16:12), Minchan Kim wrote:
> [..]
> > +static int get_zspage_inuse(struct page *first_page)
> > +{
> > +   struct zs_meta *m;
> > +
> > +   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> > +
> > +   m = (struct zs_meta *)_page->mapping;
> ..
> > +static void set_zspage_inuse(struct page *first_page, int val)
> > +{
> > +   struct zs_meta *m;
> > +
> > +   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> > +
> > +   m = (struct zs_meta *)_page->mapping;
> ..
> > +static void mod_zspage_inuse(struct page *first_page, int val)
> > +{
> > +   struct zs_meta *m;
> > +
> > +   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> > +
> > +   m = (struct zs_meta *)_page->mapping;
> ..
> >  static void get_zspage_mapping(struct page *first_page,
> > unsigned int *class_idx,
> > enum fullness_group *fullness)
> >  {
> > -   unsigned long m;
> > +   struct zs_meta *m;
> > +
> > VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> > +   m = (struct zs_meta *)_page->mapping;
> ..
> >  static void set_zspage_mapping(struct page *first_page,
> > unsigned int class_idx,
> > enum fullness_group fullness)
> >  {
> > +   struct zs_meta *m;
> > +
> > VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> >  
> > +   m = (struct zs_meta *)_page->mapping;
> > +   m->fullness = fullness;
> > +   m->class = class_idx;
> >  }
> 
> 
> a nitpick: this
> 
>   struct zs_meta *m;
>   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
>   m = (struct zs_meta *)_page->mapping;
> 
> 
> seems to be common in several places, may be it makes sense to
> factor it out and turn into a macro or a static inline helper?
> 
> other than that, looks good to me

Yeb.

> 
> Reviewed-by: Sergey Senozhatsky 

Thanks for the review!
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


Re: [PATCH v3 06/16] zsmalloc: squeeze inuse into page->mapping

2016-04-18 Thread Sergey Senozhatsky
Hello,

On (03/30/16 16:12), Minchan Kim wrote:
[..]
> +static int get_zspage_inuse(struct page *first_page)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)_page->mapping;
..
> +static void set_zspage_inuse(struct page *first_page, int val)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)_page->mapping;
..
> +static void mod_zspage_inuse(struct page *first_page, int val)
> +{
> + struct zs_meta *m;
> +
> + VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> +
> + m = (struct zs_meta *)_page->mapping;
..
>  static void get_zspage_mapping(struct page *first_page,
>   unsigned int *class_idx,
>   enum fullness_group *fullness)
>  {
> - unsigned long m;
> + struct zs_meta *m;
> +
>   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
> + m = (struct zs_meta *)_page->mapping;
..
>  static void set_zspage_mapping(struct page *first_page,
>   unsigned int class_idx,
>   enum fullness_group fullness)
>  {
> + struct zs_meta *m;
> +
>   VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
>  
> + m = (struct zs_meta *)_page->mapping;
> + m->fullness = fullness;
> + m->class = class_idx;
>  }


a nitpick: this

struct zs_meta *m;
VM_BUG_ON_PAGE(!is_first_page(first_page), first_page);
m = (struct zs_meta *)_page->mapping;


seems to be common in several places, may be it makes sense to
factor it out and turn into a macro or a static inline helper?

other than that, looks good to me

Reviewed-by: Sergey Senozhatsky 

-ss
___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization