<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/mm/slab_common.c, branch linux-3.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-07-14T22:14:29Z</updated>
<entry>
<title>Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux</title>
<updated>2013-07-14T22:14:29Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2013-07-14T22:14:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54be8200198ddfc6cb396720460c19881fac2d5a'/>
<id>urn:sha1:54be8200198ddfc6cb396720460c19881fac2d5a</id>
<content type='text'>
Pull slab update from Pekka Enberg:
 "Highlights:

  - Fix for boot-time problems on some architectures due to
    init_lock_keys() not respecting kmalloc_caches boundaries
    (Christoph Lameter)

  - CONFIG_SLUB_CPU_PARTIAL requested by RT folks (Joonsoo Kim)

  - Fix for excessive slab freelist draining (Wanpeng Li)

  - SLUB and SLOB cleanups and fixes (various people)"

I ended up editing the branch, and this avoids two commits at the end
that were immediately reverted, and I instead just applied the oneliner
fix in between myself.

* 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux
  slub: Check for page NULL before doing the node_match check
  mm/slab: Give s_next and s_stop slab-specific names
  slob: Check for NULL pointer before calling ctor()
  slub: Make cpu partial slab support configurable
  slab: add kmalloc() to kernel API documentation
  slab: fix init_lock_keys
  slob: use DIV_ROUND_UP where possible
  slub: do not put a slab to cpu partial list when cpu_partial is 0
  mm/slub: Use node_nr_slabs and node_nr_objs in get_slabinfo
  mm/slub: Drop unnecessary nr_partials
  mm/slab: Fix /proc/slabinfo unwriteable for slab
  mm/slab: Sharing s_next and s_stop between slab and slub
  mm/slab: Fix drain freelist excessively
  slob: Rework #ifdeffery in slab.h
  mm, slab: moved kmem_cache_alloc_node comment to correct place
</content>
</entry>
<entry>
<title>mm/slab: Give s_next and s_stop slab-specific names</title>
<updated>2013-07-08T08:02:17Z</updated>
<author>
<name>Wanpeng Li</name>
</author>
<published>2013-07-08T00:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=276a2439ce7917b8c3043af7ad6bf17bbcc24030'/>
<id>urn:sha1:276a2439ce7917b8c3043af7ad6bf17bbcc24030</id>
<content type='text'>
Give s_next and s_stop slab-specific names instead of exporting
"s_next" and "s_stop".

Signed-off-by: Wanpeng Li &lt;liwanp@linux.vnet.ibm.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>mm/slab: Fix /proc/slabinfo unwriteable for slab</title>
<updated>2013-07-07T15:37:47Z</updated>
<author>
<name>Wanpeng Li</name>
</author>
<published>2013-07-04T00:33:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e9b4db2b8dba6b6c666e54b20ce46f3e597a6d96'/>
<id>urn:sha1:e9b4db2b8dba6b6c666e54b20ce46f3e597a6d96</id>
<content type='text'>
Slab have some tunables like limit, batchcount, and sharedfactor can be
tuned through function slabinfo_write. Commit (b7454ad3: mm/sl[au]b: Move
slabinfo processing to slab_common.c) uncorrectly change /proc/slabinfo
unwriteable for slab, this patch fix it by revert to original mode.

Acked-by: Christoph Lameter &lt;cl@linux.com&gt;
Signed-off-by: Wanpeng Li &lt;liwanp@linux.vnet.ibm.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>mm/slab: Sharing s_next and s_stop between slab and slub</title>
<updated>2013-07-07T15:37:47Z</updated>
<author>
<name>Wanpeng Li</name>
</author>
<published>2013-07-04T00:33:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e25839f67948ca54fa55a45686d72c266f65f099'/>
<id>urn:sha1:e25839f67948ca54fa55a45686d72c266f65f099</id>
<content type='text'>
This patch shares s_next and s_stop between slab and slub.

Acked-by: Christoph Lameter &lt;cl@linux.com&gt;
Signed-off-by: Wanpeng Li &lt;liwanp@linux.vnet.ibm.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>slab: prevent warnings when allocating with __GFP_NOWARN</title>
<updated>2013-06-13T07:01:58Z</updated>
<author>
<name>Sasha Levin</name>
</author>
<published>2013-06-10T19:18:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=907985f48bc60818e291c631249f9bc84c83a06f'/>
<id>urn:sha1:907985f48bc60818e291c631249f9bc84c83a06f</id>
<content type='text'>
Sasha Levin noticed that the warning introduced by commit 6286ae9
("slab: Return NULL for oversized allocations) is being triggered:

  WARNING: CPU: 15 PID: 21519 at mm/slab_common.c:376 kmalloc_slab+0x2f/0xb0()
  can: request_module (can-proto-4) failed.
  mpoa: proc_mpc_write: could not parse ''
  Modules linked in:
  CPU: 15 PID: 21519 Comm: trinity-child15 Tainted: G W    3.10.0-rc4-next-20130607-sasha-00011-gcd78395-dirty #2
   0000000000000009 ffff880020a95e30 ffffffff83ff4041 0000000000000000
   ffff880020a95e68 ffffffff8111fe12 fffffffffffffff0 00000000000082d0
   0000000000080000 0000000000080000 0000000001400000 ffff880020a95e78
  Call Trace:
   [&lt;ffffffff83ff4041&gt;] dump_stack+0x4e/0x82
   [&lt;ffffffff8111fe12&gt;] warn_slowpath_common+0x82/0xb0
   [&lt;ffffffff8111fe55&gt;] warn_slowpath_null+0x15/0x20
   [&lt;ffffffff81243dcf&gt;] kmalloc_slab+0x2f/0xb0
   [&lt;ffffffff81278d54&gt;] __kmalloc+0x24/0x4b0
   [&lt;ffffffff8196ffe3&gt;] ? security_capable+0x13/0x20
   [&lt;ffffffff812a26b7&gt;] ? pipe_fcntl+0x107/0x210
   [&lt;ffffffff812a26b7&gt;] pipe_fcntl+0x107/0x210
   [&lt;ffffffff812b7ea0&gt;] ? fget_raw_light+0x130/0x3f0
   [&lt;ffffffff812aa5fb&gt;] SyS_fcntl+0x60b/0x6a0
   [&lt;ffffffff8403ca98&gt;] tracesys+0xe1/0xe6

Andrew Morton writes:

  __GFP_NOWARN is frequently used by kernel code to probe for "how big
  an allocation can I get".  That's a bit lame, but it's used on slow
  paths and is pretty simple.

However, SLAB would still spew a warning when a big allocation happens
if the __GFP_NOWARN flag is _not_ set to expose kernel bugs.

Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
[ penberg@kernel.org: improve changelog ]
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>mm/slab: Fix crash during slab init</title>
<updated>2013-05-08T22:02:33Z</updated>
<author>
<name>Chris Mason</name>
</author>
<published>2013-05-08T19:56:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=956e46efb2478ebff7a871138458fa8124fd18dd'/>
<id>urn:sha1:956e46efb2478ebff7a871138458fa8124fd18dd</id>
<content type='text'>
Commit 8a965b3baa89 ("mm, slab_common: Fix bootstrap creation of kmalloc
caches") introduced a regression that caused us to crash early during
boot.  The commit was introducing ordering of slab creation, making sure
two odd-sized slabs were created after specific powers of two sizes.

But, if any of the power of two slabs were created earlier during boot,
slabs at index 1 or 2 might not get created at all.  This patch makes
sure none of the slabs get skipped.

Tony Lindgren bisected this down to the offending commit, which really
helped because bisect kept bringing me to almost but not quite this one.

Signed-off-by: Chris Mason &lt;chris.mason@fusionio.com&gt;
Acked-by: Christoph Lameter &lt;cl@linux.com&gt;
Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Acked-by: Soren Brinkmann &lt;soren.brinkmann@xilinx.com&gt;
Tested-by: Tetsuo Handa &lt;penguin-kernel@i-love.sakura.ne.jp&gt;
Tested-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>mm, slab_common: Fix bootstrap creation of kmalloc caches</title>
<updated>2013-05-06T20:22:17Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2013-05-03T18:04:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a965b3baa89ffedc73c0fbc750006c631012ced'/>
<id>urn:sha1:8a965b3baa89ffedc73c0fbc750006c631012ced</id>
<content type='text'>
For SLAB the kmalloc caches must be created in ascending sizes in order
for the OFF_SLAB sub-slab cache to work properly.

Create the non power of two caches immediately after the prior power of
two kmalloc cache. Do not create the non power of two caches before all
other caches.

Reported-and-tested-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Signed-off-by: Christoph Lamete &lt;cl@linux.com&gt;
Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jp
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>slab: Return NULL for oversized allocations</title>
<updated>2013-05-06T06:24:16Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2013-05-03T15:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6286ae97d10ea2b5cd90532163797ab217bfdbdf'/>
<id>urn:sha1:6286ae97d10ea2b5cd90532163797ab217bfdbdf</id>
<content type='text'>
The inline path seems to have changed the SLAB behavior for very large
kmalloc allocations with  commit e3366016 ("slab: Use common
kmalloc_index/kmalloc_size functions"). This patch restores the old
behavior but also adds diagnostics so that we can figure where in the
code these large allocations occur.

Reported-and-tested-by: Tetsuo Handa &lt;penguin-kernel@I-love.SAKURA.ne.jp&gt;
Signed-off-by: Christoph Lameter &lt;cl@linux.com&gt;
Link: http://lkml.kernel.org/r/201305040348.CIF81716.OStQOHFJMFLOVF@I-love.SAKURA.ne.jp
[ penberg@kernel.org: use WARN_ON_ONCE ]
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>mm/sl[au]b: correct allocation type check in kmalloc_slab()</title>
<updated>2013-02-06T18:37:55Z</updated>
<author>
<name>Joonsoo Kim</name>
</author>
<published>2013-02-04T14:46:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1e0541674904db00e17ce646b0a1d54f59136a5'/>
<id>urn:sha1:b1e0541674904db00e17ce646b0a1d54f59136a5</id>
<content type='text'>
commit "slab: Common Kmalloc cache determination" made mistake
in kmalloc_slab(). SLAB_CACHE_DMA is for kmem_cache creation,
not for allocation. For allocation, we should use GFP_XXX to identify
type of allocation. So, change SLAB_CACHE_DMA to GFP_DMA.

Acked-by: Christoph Lameter &lt;cl@linux.com&gt;
Reported-by: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Joonsoo Kim &lt;js1304@gmail.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
<entry>
<title>slab: Common Kmalloc cache determination</title>
<updated>2013-02-01T10:32:08Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2013-01-10T19:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c59dd6544212faa5ce761920d2251f4152f408d'/>
<id>urn:sha1:2c59dd6544212faa5ce761920d2251f4152f408d</id>
<content type='text'>
Extract the optimized lookup functions from slub and put them into
slab_common.c. Then make slab use these functions as well.

Joonsoo notes that this fixes some issues with constant folding which
also reduces the code size for slub.

https://lkml.org/lkml/2012/10/20/82

Signed-off-by: Christoph Lameter &lt;cl@linux.com&gt;
Signed-off-by: Pekka Enberg &lt;penberg@kernel.org&gt;
</content>
</entry>
</feed>
