linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Minchan Kim <minchan@kernel.org>
To: Dan Magenheimer <dan.magenheimer@oracle.com>
Cc: Nitin Gupta <ngupta@vflare.org>,
	Pekka Enberg <penberg@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Seth Jennings <sjenning@linux.vnet.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	cl@linux-foundation.org
Subject: Re: [PATCH 4/4] zsmalloc: zsmalloc: align cache line size
Date: Wed, 09 May 2012 13:07:00 +0900	[thread overview]
Message-ID: <4FA9ED64.4070909@kernel.org> (raw)
In-Reply-To: <8a42cbff-f7f2-400a-a9c1-c3b3d73ab979@default>

On 05/09/2012 12:08 PM, Dan Magenheimer wrote:

>> From: Minchan Kim [mailto:minchan@kernel.org]
>> Subject: Re: [PATCH 4/4] zsmalloc: zsmalloc: align cache line size
>>
>> On 05/08/2012 11:00 PM, Dan Magenheimer wrote:
>>
>>>> From: Minchan Kim [mailto:minchan@kernel.org]
>>>>> zcache can potentially create a lot of pools, so the latter will save
>>>>> some memory.
>>>>
>>>>
>>>> Dumb question.
>>>> Why should we create pool per user?
>>>> What's the problem if there is only one pool in system?
>>>
>>> zcache doesn't use zsmalloc for cleancache pages today, but
>>> that's Seth's plan for the future.  Then if there is a
>>> separate pool for each cleancache pool, when a filesystem
>>> is umount'ed, it isn't necessary to walk through and delete
>>> all pages one-by-one, which could take quite awhile.
>>
>>> ramster needs one pool for each client (i.e. machine in the
>>> cluster) for frontswap pages for the same reason, and
>>> later, for cleancache pages, one per mounted filesystem
>>> per client
>>
>> Fair enough.
>>
>> Then, how about this interfaces like slab?
>>
>> 1. zs_handle zs_malloc(size_t size, gfp_t flags) - share a pool by many subsystem(like kmalloc)
>> 2. zs_handle zs_malloc_pool(struct zs_pool *pool, size_t size) - use own pool(like kmem_cache_alloc)
>>
>> Any thoughts?
> 
> Seems fine to me.
> 
>> But some subsystems can't want a own pool for not waste unnecessary memory.
> 
> Are you using zsmalloc for something else in the kernel?  I'm
> wondering what other subsystem would have random size allocations
> always less than a page.


Nope. It's a just wondering during review the code about interface.
I thought normal user can use zs_malloc without creating pool so that it's rather easy to use
and simillar to normal allocator which can help availability of zsmalloc.

And it will make space efficiency good.
For example, some subsystem makes own pool and use a object in a class which consists of 4-pages once during her life.
Other object unused in the class are just wasteful but if we can share a pool with others, we may reduce such inefficiency.

I think zsmalloc's goal should be biased on space efficiency.

> 
> Thanks,
> Dan
> 
> --
> 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/ .
> Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
> Don't email: <a href=ilto:"dont@kvack.org"> email@kvack.org </a>
> 



-- 
Kind regards,
Minchan Kim

  reply	other threads:[~2012-05-09  4:06 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-03  6:40 [PATCH 1/4] zsmalloc: rename zspage_order with zspage_pages Minchan Kim
2012-05-03  6:40 ` [PATCH 2/4] zsmalloc: add/fix function comment Minchan Kim
2012-05-03 13:19   ` Nitin Gupta
2012-05-03  6:40 ` [PATCH 3/4] zsmalloc use zs_handle instead of void * Minchan Kim
2012-05-03 13:32   ` Nitin Gupta
2012-05-03 15:23     ` Seth Jennings
2012-05-04  2:24       ` Minchan Kim
2012-05-07 15:01         ` Seth Jennings
2012-05-09 20:19         ` Greg Kroah-Hartman
2012-05-10  2:03           ` Minchan Kim
2012-05-10 14:02             ` Konrad Rzeszutek Wilk
2012-05-10 14:12               ` Greg Kroah-Hartman
2012-05-10 14:47               ` Nitin Gupta
2012-05-10 15:00                 ` Minchan Kim
2012-05-10 15:11                 ` Seth Jennings
2012-05-10 15:19                   ` Minchan Kim
2012-05-10 15:19                   ` Greg Kroah-Hartman
2012-05-10 16:29                     ` Nitin Gupta
2012-05-10 16:44                       ` Greg Kroah-Hartman
2012-05-10 17:24                         ` Nitin Gupta
2012-05-10 17:33                           ` Konrad Rzeszutek Wilk
2012-05-10 23:24                             ` Minchan Kim
2012-05-10 23:50                               ` Dan Magenheimer
2012-05-11  0:14                                 ` Minchan Kim
2012-05-11 16:31                                   ` Dan Magenheimer
2012-05-11 19:29                                   ` Konrad Rzeszutek Wilk
2012-05-11 21:49                                     ` Seth Jennings
2012-05-14  2:26                                       ` Minchan Kim
2012-05-11 19:28                               ` Konrad Rzeszutek Wilk
2012-05-14  2:18                                 ` Minchan Kim
2012-05-15  1:57                                   ` Nitin Gupta
2012-05-15  2:21                                     ` Minchan Kim
2012-05-15 15:04                                   ` Konrad Rzeszutek Wilk
2012-05-16  1:36                                     ` Minchan Kim
2012-05-16 11:06                                       ` Konrad Rzeszutek Wilk
2012-05-03  6:40 ` [PATCH 4/4] zsmalloc: zsmalloc: align cache line size Minchan Kim
2012-05-03 13:58   ` Nitin Gupta
2012-05-04  2:27     ` Minchan Kim
2012-05-07  7:41       ` Pekka Enberg
2012-05-07 12:40         ` Nitin Gupta
2012-05-08  1:34           ` Minchan Kim
2012-05-08 14:00             ` Dan Magenheimer
2012-05-09  0:58               ` Minchan Kim
2012-05-09  3:08                 ` Dan Magenheimer
2012-05-09  4:07                   ` Minchan Kim [this message]
2012-05-11  0:03                 ` Dan Magenheimer
2012-05-11  0:25                   ` Minchan Kim
2012-05-11 19:06                     ` Konrad Rzeszutek Wilk
2012-05-14  1:55                       ` Minchan Kim
2012-05-15 15:18                         ` Konrad Rzeszutek Wilk
2012-05-16  1:44                           ` Minchan Kim
2012-05-03 13:18 ` [PATCH 1/4] zsmalloc: rename zspage_order with zspage_pages Nitin Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FA9ED64.4070909@kernel.org \
    --to=minchan@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=dan.magenheimer@oracle.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=ngupta@vflare.org \
    --cc=penberg@kernel.org \
    --cc=sjenning@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).