<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/mm/zbud.c, branch v4.14.31</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.31</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.31'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-01-15T19:40:52+00:00</updated>
<entry>
<title>mm/zbud.c: use list_last_entry() instead of list_tail_entry()</title>
<updated>2016-01-15T19:40:52+00:00</updated>
<author>
<name>Geliang Tang</name>
<email>geliangtang@163.com</email>
</author>
<published>2016-01-14T23:22:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f58fb5e7f0ab05c9083869c1ec27854af2afc7b7'/>
<id>urn:sha1:f58fb5e7f0ab05c9083869c1ec27854af2afc7b7</id>
<content type='text'>
list_last_entry*( has been defined in list.h, so replace
list_tail_entry() with it.

Signed-off-by: Geliang Tang &lt;geliangtang@163.com&gt;
Cc: Seth Jennings &lt;sjennings@variantweb.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: zsmalloc: constify struct zs_pool name</title>
<updated>2015-11-07T01:50:42+00:00</updated>
<author>
<name>Sergey SENOZHATSKY</name>
<email>sergey.senozhatsky@gmail.com</email>
</author>
<published>2015-11-07T00:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6f3526d6db7cbe8b53e42d6bf0cad2072afcf3fe'/>
<id>urn:sha1:6f3526d6db7cbe8b53e42d6bf0cad2072afcf3fe</id>
<content type='text'>
Constify `struct zs_pool' -&gt;name.

[akpm@inux-foundation.org: constify zpool_create_pool()'s `type' arg also]
Signed-off-by: Sergey Senozhatsky &lt;sergey.senozhatsky@gmail.com&gt;
Acked-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Cc: Minchan Kim &lt;minchan@kernel.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: zbud: constify the zbud_ops</title>
<updated>2015-09-08T22:35:28+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2015-09-08T22:05:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c83db4f419e7105af38cdcca80cc51213214a2c8'/>
<id>urn:sha1:c83db4f419e7105af38cdcca80cc51213214a2c8</id>
<content type='text'>
The structure zbud_ops is not modified so make the pointer to it a
pointer to const.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Acked-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm: zpool: constify the zpool_ops</title>
<updated>2015-09-08T22:35:28+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>k.kozlowski@samsung.com</email>
</author>
<published>2015-09-08T22:05:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=786727799a85aeabc20cab5ecfb72771bcbd6b85'/>
<id>urn:sha1:786727799a85aeabc20cab5ecfb72771bcbd6b85</id>
<content type='text'>
The structure zpool_ops is not modified so make the pointer to it a
pointer to const.

Signed-off-by: Krzysztof Kozlowski &lt;k.kozlowski@samsung.com&gt;
Acked-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>zpool: remove zpool_evict()</title>
<updated>2015-06-26T00:00:37+00:00</updated>
<author>
<name>Dan Streetman</name>
<email>ddstreet@ieee.org</email>
</author>
<published>2015-06-25T22:00:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=479305fd7172503772575997eb6f1b0a2bb4a107'/>
<id>urn:sha1:479305fd7172503772575997eb6f1b0a2bb4a107</id>
<content type='text'>
Remove zpool_evict() helper function.  As zbud is currently the only
zpool implementation that supports eviction, add zpool and zpool_ops
references to struct zbud_pool and directly call zpool_ops-&gt;evict(zpool,
handle) on eviction.

Currently zpool provides the zpool_evict helper which locks the zpool
list lock and searches through all pools to find the specific one
matching the caller, and call the corresponding zpool_ops-&gt;evict
function.  However, this is unnecessary, as the zbud pool can simply
keep a reference to the zpool that created it, as well as the zpool_ops,
and directly call the zpool_ops-&gt;evict function, when it needs to evict
a page.  This avoids a spinlock and list search in zpool for each
eviction.

Signed-off-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Cc: Seth Jennings &lt;sjennings@variantweb.net&gt;
Cc: Minchan Kim &lt;minchan@kernel.org&gt;
Cc: Nitin Gupta &lt;ngupta@vflare.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm/zpool: add name argument to create zpool</title>
<updated>2015-02-13T02:54:12+00:00</updated>
<author>
<name>Ganesh Mahendran</name>
<email>opensource.ganesh@gmail.com</email>
</author>
<published>2015-02-12T23:00:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3eba0c6a56c04f2b017b43641a821f1ebfb7fb4c'/>
<id>urn:sha1:3eba0c6a56c04f2b017b43641a821f1ebfb7fb4c</id>
<content type='text'>
Currently the underlay of zpool: zsmalloc/zbud, do not know who creates
them.  There is not a method to let zsmalloc/zbud find which caller they
belong to.

Now we want to add statistics collection in zsmalloc.  We need to name the
debugfs dir for each pool created.  The way suggested by Minchan Kim is to
use a name passed by caller(such as zram) to create the zsmalloc pool.

    /sys/kernel/debug/zsmalloc/zram0

This patch adds an argument `name' to zs_create_pool() and other related
functions.

Signed-off-by: Ganesh Mahendran &lt;opensource.ganesh@gmail.com&gt;
Acked-by: Minchan Kim &lt;minchan@kernel.org&gt;
Cc: Seth Jennings &lt;sjennings@variantweb.net&gt;
Cc: Nitin Gupta &lt;ngupta@vflare.org&gt;
Cc: Dan Streetman &lt;ddstreet@ieee.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm/zbud: init user ops only when it is needed</title>
<updated>2014-12-13T20:42:51+00:00</updated>
<author>
<name>Heesub Shin</name>
<email>heesub.shin@samsung.com</email>
</author>
<published>2014-12-13T00:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1dd61aa31cb5a64fe294c32424d9602fdb7317b0'/>
<id>urn:sha1:1dd61aa31cb5a64fe294c32424d9602fdb7317b0</id>
<content type='text'>
When zbud is initialized through the zpool wrapper, pool-&gt;ops which
points to user-defined operations is always set regardless of whether it
is specified from the upper layer. This causes zbud_reclaim_page() to
iterate its loop for evicting pool pages out without any gain.

This patch sets the user-defined ops only when it is needed, so that
zbud_reclaim_page() can bail out the reclamation loop earlier if there
is no user-defined operations specified.

Signed-off-by: Heesub Shin &lt;heesub.shin@samsung.com&gt;
Acked-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Cc: Seth Jennings &lt;sjennings@variantweb.net&gt;
Cc: Sunae Seo &lt;sunae.seo@samsung.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Merge Linus' tree to be be to apply submitted patches to newer code than</title>
<updated>2014-11-20T13:42:02+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2014-11-20T13:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a02001086bbfb4da35d1228bebc2f1b442db455f'/>
<id>urn:sha1:a02001086bbfb4da35d1228bebc2f1b442db455f</id>
<content type='text'>
current trivial.git base
</content>
</entry>
<entry>
<title>zbud, zswap: change module author email</title>
<updated>2014-11-13T08:05:47+00:00</updated>
<author>
<name>Seth Jennings</name>
<email>sjennings@variantweb.net</email>
</author>
<published>2014-11-13T03:08:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=68386da82af3235b32c97c34104e5fef8112f126'/>
<id>urn:sha1:68386da82af3235b32c97c34104e5fef8112f126</id>
<content type='text'>
Old email no longer viable.

Signed-off-by: Seth Jennings &lt;sjennings@variantweb.net&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>zbud: avoid accessing last unused freelist</title>
<updated>2014-10-10T02:26:03+00:00</updated>
<author>
<name>Chao Yu</name>
<email>chao2.yu@samsung.com</email>
</author>
<published>2014-10-09T22:30:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f203c3b33f0891da98ae3dcf829851c48473ed60'/>
<id>urn:sha1:f203c3b33f0891da98ae3dcf829851c48473ed60</id>
<content type='text'>
For now, there are NCHUNKS of 64 freelists in zbud_pool, the last
unbuddied[63] freelist linked with all zbud pages which have free chunks
of 63.  Calculating according to context of num_free_chunks(), our max
chunk number of unbuddied zbud page is 62, so none of zbud pages will be
added/removed in last freelist, but still we will try to find an unbuddied
zbud page in the last unused freelist, it is unneeded.

This patch redefines NCHUNKS to 63 as free chunk number in one zbud page,
hence we can decrease size of zpool and avoid accessing the last unused
freelist whenever failing to allocate zbud from freelist in zbud_alloc.

Signed-off-by: Chao Yu &lt;chao2.yu@samsung.com&gt;
Cc: Seth Jennings &lt;sjennings@variantweb.net&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
