<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/mm/zbud.c, branch dev</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2015-06-26T00:00:37+00:00</updated>
<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/BMC/Intel-BMC/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/BMC/Intel-BMC/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/BMC/Intel-BMC/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/BMC/Intel-BMC/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/BMC/Intel-BMC/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/BMC/Intel-BMC/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>
<entry>
<title>mm/zpool: use prefixed module loading</title>
<updated>2014-08-29T23:28:16+00:00</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2014-08-29T22:18:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=137f8cff505ace6251dc442c7aa973d60c801a79'/>
<id>urn:sha1:137f8cff505ace6251dc442c7aa973d60c801a79</id>
<content type='text'>
To avoid potential format string expansion via module parameters, do not
use the zpool type directly in request_module() without a format string.
Additionally, to avoid arbitrary modules being loaded via zpool API
(e.g.  via the zswap_zpool_type module parameter) add a "zpool-" prefix
to the requested module, as well as module aliases for the existing
zpool types (zbud and zsmalloc).

Signed-off-by: Kees Cook &lt;keescook@chromium.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;
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: zbud/zsmalloc implement zpool</title>
<updated>2014-08-07T01:01:23+00:00</updated>
<author>
<name>Dan Streetman</name>
<email>ddstreet@ieee.org</email>
</author>
<published>2014-08-06T23:08:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=c795779df29e180738568d2a5eb3a42f3b5e47f0'/>
<id>urn:sha1:c795779df29e180738568d2a5eb3a42f3b5e47f0</id>
<content type='text'>
Update zbud and zsmalloc to implement the zpool api.

[fengguang.wu@intel.com: make functions static]
Signed-off-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Tested-by: Seth Jennings &lt;sjennings@variantweb.net&gt;
Cc: Minchan Kim &lt;minchan@kernel.org&gt;
Cc: Nitin Gupta &lt;ngupta@vflare.org&gt;
Cc: Weijie Yang &lt;weijie.yang@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>mm/zbud: change zbud_alloc size type to size_t</title>
<updated>2014-08-07T01:01:23+00:00</updated>
<author>
<name>Dan Streetman</name>
<email>ddstreet@ieee.org</email>
</author>
<published>2014-08-06T23:08:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=99eef8e9369abe009006b4fa7f6ca5086c09cf46'/>
<id>urn:sha1:99eef8e9369abe009006b4fa7f6ca5086c09cf46</id>
<content type='text'>
Change the type of the zbud_alloc() size param from unsigned int to
size_t.

Technically, this should not make any difference, as the zbud
implementation already restricts the size to well within either type's
limits; but as zsmalloc (and kmalloc) use size_t, and zpool will use
size_t, this brings the size parameter type in line with zsmalloc/zpool.

Signed-off-by: Dan Streetman &lt;ddstreet@ieee.org&gt;
Acked-by: Seth Jennings &lt;sjennings@variantweb.net&gt;
Tested-by: Seth Jennings &lt;sjennings@variantweb.net&gt;
Cc: Weijie Yang &lt;weijie.yang@samsung.com&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/zbud.c: make size unsigned like unique callsite</title>
<updated>2014-06-04T23:54:13+00:00</updated>
<author>
<name>Fabian Frederick</name>
<email>fabf@skynet.be</email>
</author>
<published>2014-06-04T23:11:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=50417c55562c03e6746b13aee650c2bbb048fea3'/>
<id>urn:sha1:50417c55562c03e6746b13aee650c2bbb048fea3</id>
<content type='text'>
zbud_alloc is only called by zswap_frontswap_store with unsigned int len.
Change function parameter + update &gt;= 0 check.

Signed-off-by: Fabian Frederick &lt;fabf@skynet.be&gt;
Acked-by: 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>
