linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ia64 dies in slab code on next-20120906
@ 2012-09-06 18:39 Tony Luck
  2012-09-06 19:39 ` Sedat Dilek
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Tony Luck @ 2012-09-06 18:39 UTC (permalink / raw)
  To: linux-next; +Cc: Christoph Lameter, Pekka Enberg

Worked fine yesterday on next-20120905, crashes today. First sign of trouble
was an unaligned access, then a NULL dereference. SL*B related bits of
my config:

CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_SLABINFO=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set

And he console log.

PID hash table entries: 4096 (order: 1, 32768 bytes)
Dentry cache hash table entries: 262144 (order: 7, 2097152 bytes)
Inode-cache hash table entries: 131072 (order: 6, 1048576 bytes)
Memory: 2047920k/2086064k available (13992k code, 38144k reserved,
6012k data, 880k init)
kernel unaligned access to 0xca2ffc55fb373e95, ip=0xa0000001001be550
swapper[0]: error during unaligned kernel access
 -1 [1]
Modules linked in:

Pid: 0, CPU 0, comm:              swapper
psr : 00001010084a2018 ifs : 800000000000060f ip  :
[<a0000001001be550>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
ip is at new_slab+0x90/0x680
unat: 0000000000000000 pfs : 000000000000060f rsc : 0000000000000003
rnat: 9666960159966a59 bsps: a0000001001441c0 pr  : 9666960159965a59
ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f
csd : 0000000000000000 ssd : 0000000000000000
b0  : a0000001001be500 b6  : a00000010112cb20 b7  : a0000001011660a0
f6  : 0fff7f0f0f0f0e54f0000 f7  : 0ffe8c5c1000000000000
f8  : 1000d8000000000000000 f9  : 100068800000000000000
f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
r1  : a00000010155eef0 r2  : 0000000000000000 r3  : fffffffffffc1638
r8  : e0000040600081b8 r9  : ca2ffc55fb373e95 r10 : 0000000000000000
r11 : e000004040001646 r12 : a000000101287e20 r13 : a000000101280000
r14 : 0000000000004000 r15 : 0000000000000078 r16 : ca2ffc55fb373e75
r17 : e000004040040000 r18 : fffffffffffc1646 r19 : e000004040001646
r20 : fffffffffffc15f8 r21 : 000000000000004d r22 : a00000010132fa68
r23 : 00000000000000ed r24 : 0000000000000000 r25 : 0000000000000000
r26 : 0000000000000001 r27 : a0000001012b8500 r28 : a00000010135f4a0
r29 : 0000000000000000 r30 : 0000000000000000 r31 : 0000000000000001
Unable to handle kernel NULL pointer dereference (address 0000000000000018)
swapper[0]: Oops 11003706212352 [2]
Modules linked in:

Pid: 0, CPU 0, comm:              swapper
psr : 0000121008022018 ifs : 800000000000cc18 ip  :
[<a0000001004dc8f1>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
ip is at __copy_user+0x891/0x960
unat: 0000000000000000 pfs : 0000000000000813 rsc : 0000000000000003
rnat: 0000000000000000 bsps: 0000000000000000 pr  : 9666960159961765
ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f
csd : 0000000000000000 ssd : 0000000000000000
b0  : a00000010004b550 b6  : a00000010004b740 b7  : a00000010000c750
f6  : 000000000000000000000 f7  : 1003e9e3779b97f4a7c16
f8  : 1003e0a00000010001550 f9  : 100068800000000000000
f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
r1  : a00000010155eef0 r2  : a0000001012870b0 r3  : a0000001012870b8
r8  : 0000000000000298 r9  : 0000000000000013 r10 : 0000000000000000
r11 : 9666960159961a65 r12 : a000000101287010 r13 : a000000101280000
r14 : a000000101287068 r15 : a000000101287080 r16 : 0000000000000298
r17 : 0000000000000010 r18 : 0000000000000018 r19 : a000000101287310
r20 : 0000000000000290 r21 : 0000000000000000 r22 : 0000000000000000
r23 : a000000101386f58 r24 : 0000000000000000 r25 : 000000007fffffff
r26 : a000000101287078 r27 : a0000001013c69b0 r28 : 0000000000000000
r29 : 0000000000000014 r30 : 0000000000000000 r31 : 0000000000000813

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 18:39 ia64 dies in slab code on next-20120906 Tony Luck
@ 2012-09-06 19:39 ` Sedat Dilek
  2012-09-06 20:13   ` Sedat Dilek
  2012-09-06 20:13 ` Christoph Lameter
  2012-09-07  1:26 ` Stephen Rothwell
  2 siblings, 1 reply; 19+ messages in thread
From: Sedat Dilek @ 2012-09-06 19:39 UTC (permalink / raw)
  To: Tony Luck; +Cc: linux-next, Christoph Lameter, Pekka Enberg

On Thu, Sep 6, 2012 at 8:39 PM, Tony Luck <tony.luck@intel.com> wrote:
> Worked fine yesterday on next-20120905, crashes today. First sign of trouble
> was an unaligned access, then a NULL dereference. SL*B related bits of
> my config:
>
> CONFIG_SLUB_DEBUG=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> CONFIG_SLABINFO=y
> # CONFIG_SLUB_DEBUG_ON is not set
> # CONFIG_SLUB_STATS is not set
>

I fell over the same issue, comparing the diff between next-20120905
and next-20120906 shows the culprit lies in the
"slab/common-for-cgroups" GIT branch.
That stuff was in "slab/next" and came to today's linux-next, but now removed.

I try with reverting all commits came with "slab/common-for-cgroups"
in next-20120906.

- Sedat -

[1] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=shortlog;h=refs/heads/slab/common-for-cgroups
[2] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=shortlog;h=refs/heads/slab/next

> And he console log.
>
> PID hash table entries: 4096 (order: 1, 32768 bytes)
> Dentry cache hash table entries: 262144 (order: 7, 2097152 bytes)
> Inode-cache hash table entries: 131072 (order: 6, 1048576 bytes)
> Memory: 2047920k/2086064k available (13992k code, 38144k reserved,
> 6012k data, 880k init)
> kernel unaligned access to 0xca2ffc55fb373e95, ip=0xa0000001001be550
> swapper[0]: error during unaligned kernel access
>  -1 [1]
> Modules linked in:
>
> Pid: 0, CPU 0, comm:              swapper
> psr : 00001010084a2018 ifs : 800000000000060f ip  :
> [<a0000001001be550>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
> ip is at new_slab+0x90/0x680
> unat: 0000000000000000 pfs : 000000000000060f rsc : 0000000000000003
> rnat: 9666960159966a59 bsps: a0000001001441c0 pr  : 9666960159965a59
> ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f
> csd : 0000000000000000 ssd : 0000000000000000
> b0  : a0000001001be500 b6  : a00000010112cb20 b7  : a0000001011660a0
> f6  : 0fff7f0f0f0f0e54f0000 f7  : 0ffe8c5c1000000000000
> f8  : 1000d8000000000000000 f9  : 100068800000000000000
> f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
> r1  : a00000010155eef0 r2  : 0000000000000000 r3  : fffffffffffc1638
> r8  : e0000040600081b8 r9  : ca2ffc55fb373e95 r10 : 0000000000000000
> r11 : e000004040001646 r12 : a000000101287e20 r13 : a000000101280000
> r14 : 0000000000004000 r15 : 0000000000000078 r16 : ca2ffc55fb373e75
> r17 : e000004040040000 r18 : fffffffffffc1646 r19 : e000004040001646
> r20 : fffffffffffc15f8 r21 : 000000000000004d r22 : a00000010132fa68
> r23 : 00000000000000ed r24 : 0000000000000000 r25 : 0000000000000000
> r26 : 0000000000000001 r27 : a0000001012b8500 r28 : a00000010135f4a0
> r29 : 0000000000000000 r30 : 0000000000000000 r31 : 0000000000000001
> Unable to handle kernel NULL pointer dereference (address 0000000000000018)
> swapper[0]: Oops 11003706212352 [2]
> Modules linked in:
>
> Pid: 0, CPU 0, comm:              swapper
> psr : 0000121008022018 ifs : 800000000000cc18 ip  :
> [<a0000001004dc8f1>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
> ip is at __copy_user+0x891/0x960
> unat: 0000000000000000 pfs : 0000000000000813 rsc : 0000000000000003
> rnat: 0000000000000000 bsps: 0000000000000000 pr  : 9666960159961765
> ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f
> csd : 0000000000000000 ssd : 0000000000000000
> b0  : a00000010004b550 b6  : a00000010004b740 b7  : a00000010000c750
> f6  : 000000000000000000000 f7  : 1003e9e3779b97f4a7c16
> f8  : 1003e0a00000010001550 f9  : 100068800000000000000
> f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
> r1  : a00000010155eef0 r2  : a0000001012870b0 r3  : a0000001012870b8
> r8  : 0000000000000298 r9  : 0000000000000013 r10 : 0000000000000000
> r11 : 9666960159961a65 r12 : a000000101287010 r13 : a000000101280000
> r14 : a000000101287068 r15 : a000000101287080 r16 : 0000000000000298
> r17 : 0000000000000010 r18 : 0000000000000018 r19 : a000000101287310
> r20 : 0000000000000290 r21 : 0000000000000000 r22 : 0000000000000000
> r23 : a000000101386f58 r24 : 0000000000000000 r25 : 000000007fffffff
> r26 : a000000101287078 r27 : a0000001013c69b0 r28 : 0000000000000000
> r29 : 0000000000000014 r30 : 0000000000000000 r31 : 0000000000000813
> --
> To unsubscribe from this list: send the line "unsubscribe linux-next" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 18:39 ia64 dies in slab code on next-20120906 Tony Luck
  2012-09-06 19:39 ` Sedat Dilek
@ 2012-09-06 20:13 ` Christoph Lameter
  2012-09-06 20:26   ` Luck, Tony
  2012-09-07  1:26 ` Stephen Rothwell
  2 siblings, 1 reply; 19+ messages in thread
From: Christoph Lameter @ 2012-09-06 20:13 UTC (permalink / raw)
  To: Tony Luck; +Cc: linux-next, Pekka Enberg

On Thu, 6 Sep 2012, Tony Luck wrote:

> kernel unaligned access to 0xca2ffc55fb373e95, ip=0xa0000001001be550

Huh? Is there any additional info available? Backtrace?

> ip is at new_slab+0x90/0x680

Any way to relate that to a line in the code?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 19:39 ` Sedat Dilek
@ 2012-09-06 20:13   ` Sedat Dilek
  0 siblings, 0 replies; 19+ messages in thread
From: Sedat Dilek @ 2012-09-06 20:13 UTC (permalink / raw)
  To: Tony Luck; +Cc: linux-next, Christoph Lameter, Pekka Enberg

[-- Attachment #1: Type: text/plain, Size: 4759 bytes --]

On Thu, Sep 6, 2012 at 9:39 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> On Thu, Sep 6, 2012 at 8:39 PM, Tony Luck <tony.luck@intel.com> wrote:
>> Worked fine yesterday on next-20120905, crashes today. First sign of trouble
>> was an unaligned access, then a NULL dereference. SL*B related bits of
>> my config:
>>
>> CONFIG_SLUB_DEBUG=y
>> # CONFIG_SLAB is not set
>> CONFIG_SLUB=y
>> CONFIG_SLABINFO=y
>> # CONFIG_SLUB_DEBUG_ON is not set
>> # CONFIG_SLUB_STATS is not set
>>
>
> I fell over the same issue, comparing the diff between next-20120905
> and next-20120906 shows the culprit lies in the
> "slab/common-for-cgroups" GIT branch.
> That stuff was in "slab/next" and came to today's linux-next, but now removed.
>
> I try with reverting all commits came with "slab/common-for-cgroups"
> in next-20120906.
>

Confirmed, with the attached patch (with 15 reverted commits from
"slab/common-for-cgroups") I can boot my Ubuntu/precise AMD64 machine,
again.

> - Sedat -
>
> [1] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=shortlog;h=refs/heads/slab/common-for-cgroups
> [2] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=shortlog;h=refs/heads/slab/next
>
>> And he console log.
>>
>> PID hash table entries: 4096 (order: 1, 32768 bytes)
>> Dentry cache hash table entries: 262144 (order: 7, 2097152 bytes)
>> Inode-cache hash table entries: 131072 (order: 6, 1048576 bytes)
>> Memory: 2047920k/2086064k available (13992k code, 38144k reserved,
>> 6012k data, 880k init)
>> kernel unaligned access to 0xca2ffc55fb373e95, ip=0xa0000001001be550
>> swapper[0]: error during unaligned kernel access
>>  -1 [1]
>> Modules linked in:
>>
>> Pid: 0, CPU 0, comm:              swapper
>> psr : 00001010084a2018 ifs : 800000000000060f ip  :
>> [<a0000001001be550>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
>> ip is at new_slab+0x90/0x680
>> unat: 0000000000000000 pfs : 000000000000060f rsc : 0000000000000003
>> rnat: 9666960159966a59 bsps: a0000001001441c0 pr  : 9666960159965a59
>> ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c8a70433f
>> csd : 0000000000000000 ssd : 0000000000000000
>> b0  : a0000001001be500 b6  : a00000010112cb20 b7  : a0000001011660a0
>> f6  : 0fff7f0f0f0f0e54f0000 f7  : 0ffe8c5c1000000000000
>> f8  : 1000d8000000000000000 f9  : 100068800000000000000
>> f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
>> r1  : a00000010155eef0 r2  : 0000000000000000 r3  : fffffffffffc1638
>> r8  : e0000040600081b8 r9  : ca2ffc55fb373e95 r10 : 0000000000000000
>> r11 : e000004040001646 r12 : a000000101287e20 r13 : a000000101280000
>> r14 : 0000000000004000 r15 : 0000000000000078 r16 : ca2ffc55fb373e75
>> r17 : e000004040040000 r18 : fffffffffffc1646 r19 : e000004040001646
>> r20 : fffffffffffc15f8 r21 : 000000000000004d r22 : a00000010132fa68
>> r23 : 00000000000000ed r24 : 0000000000000000 r25 : 0000000000000000
>> r26 : 0000000000000001 r27 : a0000001012b8500 r28 : a00000010135f4a0
>> r29 : 0000000000000000 r30 : 0000000000000000 r31 : 0000000000000001
>> Unable to handle kernel NULL pointer dereference (address 0000000000000018)
>> swapper[0]: Oops 11003706212352 [2]
>> Modules linked in:
>>
>> Pid: 0, CPU 0, comm:              swapper
>> psr : 0000121008022018 ifs : 800000000000cc18 ip  :
>> [<a0000001004dc8f1>]    Not tainted (3.6.0-rc4-zx1-smp-next-20120906)
>> ip is at __copy_user+0x891/0x960
>> unat: 0000000000000000 pfs : 0000000000000813 rsc : 0000000000000003
>> rnat: 0000000000000000 bsps: 0000000000000000 pr  : 9666960159961765
>> ldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f
>> csd : 0000000000000000 ssd : 0000000000000000
>> b0  : a00000010004b550 b6  : a00000010004b740 b7  : a00000010000c750
>> f6  : 000000000000000000000 f7  : 1003e9e3779b97f4a7c16
>> f8  : 1003e0a00000010001550 f9  : 100068800000000000000
>> f10 : 10005f0f0f0f0e54f0000 f11 : 1003e0000000000000078
>> r1  : a00000010155eef0 r2  : a0000001012870b0 r3  : a0000001012870b8
>> r8  : 0000000000000298 r9  : 0000000000000013 r10 : 0000000000000000
>> r11 : 9666960159961a65 r12 : a000000101287010 r13 : a000000101280000
>> r14 : a000000101287068 r15 : a000000101287080 r16 : 0000000000000298
>> r17 : 0000000000000010 r18 : 0000000000000018 r19 : a000000101287310
>> r20 : 0000000000000290 r21 : 0000000000000000 r22 : 0000000000000000
>> r23 : a000000101386f58 r24 : 0000000000000000 r25 : 000000007fffffff
>> r26 : a000000101287078 r27 : a0000001013c69b0 r28 : 0000000000000000
>> r29 : 0000000000000014 r30 : 0000000000000000 r31 : 0000000000000813
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-next" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: 3.6.0-rc4-next20120906-2-iniza-generic.patch --]
[-- Type: application/octet-stream, Size: 32871 bytes --]

Sedat Dilek (21):
      kbuild, deb-pkg: Try to determine distribution
      kbuild, deb-pkg: Bump year in debian/copyright file
      kbuild, deb-pkg: Update git repository URL in debian/copyright file
      Merge tag 'next-20120906' of git://git.kernel.org/.../next/linux-next into Linux-Next-v20120906
      Revert "Revert "mm/sl[aou]b: Move sysfs_slab_add to common""
      Revert "mm/sl[aou]b: Move kmem_cache refcounting to common code"
      Revert "mm/sl[aou]b: Shrink __kmem_cache_create() parameter lists"
      Revert "mm/sl[aou]b: Move kmem_cache allocations into common code"
      Revert "mm/sl[aou]b: Move sysfs_slab_add to common"
      Revert "mm/sl[aou]b: Do slab aliasing call from common code"
      Revert "mm/sl[aou]b: Move duping of slab name to slab_common.c"
      Revert "mm/sl[aou]b: Get rid of __kmem_cache_destroy"
      Revert "mm/sl[aou]b: Move freeing of kmem_cache structure to common code"
      Revert "mm/sl[aou]b: Use "kmem_cache" name for slab cache with kmem_cache struct"
      Revert "mm/sl[aou]b: Extract a common function for kmem_cache_destroy"
      Revert "mm/sl[aou]b: Move list_add() to slab_common.c"
      Revert "mm/slab_common: Improve error handling in kmem_cache_create"
      Revert "mm/slub: Use kmem_cache for the kmem_cache structure"
      Revert "mm/slub: Add debugging to verify correct cache use on kmem_cache_free()"
      Merge branch 'deb-pkg-fixes' into 3.6.0-rc4-next20120906-2-iniza-generic
      Merge branch 'slab-next-fixes' into 3.6.0-rc4-next20120906-2-iniza-generic

 mm/slab.c                |  251 +++++++++++++++++++++++++++-------------------
 mm/slab.h                |   19 +---
 mm/slab_common.c         |   80 +--------------
 mm/slob.c                |   60 ++++++-----
 mm/slub.c                |  143 ++++++++++++++++----------
 scripts/package/builddeb |   19 +++-
 6 files changed, 292 insertions(+), 280 deletions(-)

diff --git a/mm/slab.c b/mm/slab.c
index 8fd6852..c86b06d 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -578,9 +578,9 @@ static struct arraycache_init initarray_generic =
     { {0, BOOT_CPUCACHE_ENTRIES, 1, 0} };
 
 /* internal cache of cache description objs */
-static struct kmem_list3 *kmem_cache_nodelists[MAX_NUMNODES];
-static struct kmem_cache kmem_cache_boot = {
-	.nodelists = kmem_cache_nodelists,
+static struct kmem_list3 *cache_cache_nodelists[MAX_NUMNODES];
+static struct kmem_cache cache_cache = {
+	.nodelists = cache_cache_nodelists,
 	.batchcount = 1,
 	.limit = BOOT_CPUCACHE_ENTRIES,
 	.shared = 1,
@@ -1594,17 +1594,15 @@ void __init kmem_cache_init(void)
 	int order;
 	int node;
 
-	kmem_cache = &kmem_cache_boot;
-
 	if (num_possible_nodes() == 1)
 		use_alien_caches = 0;
 
 	for (i = 0; i < NUM_INIT_LISTS; i++) {
 		kmem_list3_init(&initkmem_list3[i]);
 		if (i < MAX_NUMNODES)
-			kmem_cache->nodelists[i] = NULL;
+			cache_cache.nodelists[i] = NULL;
 	}
-	set_up_list3s(kmem_cache, CACHE_CACHE);
+	set_up_list3s(&cache_cache, CACHE_CACHE);
 
 	/*
 	 * Fragmentation resistance on low memory - only use bigger
@@ -1616,9 +1614,9 @@ void __init kmem_cache_init(void)
 
 	/* Bootstrap is tricky, because several objects are allocated
 	 * from caches that do not exist yet:
-	 * 1) initialize the kmem_cache cache: it contains the struct
-	 *    kmem_cache structures of all caches, except kmem_cache itself:
-	 *    kmem_cache is statically allocated.
+	 * 1) initialize the cache_cache cache: it contains the struct
+	 *    kmem_cache structures of all caches, except cache_cache itself:
+	 *    cache_cache is statically allocated.
 	 *    Initially an __init data area is used for the head array and the
 	 *    kmem_list3 structures, it's replaced with a kmalloc allocated
 	 *    array at the end of the bootstrap.
@@ -1627,43 +1625,43 @@ void __init kmem_cache_init(void)
 	 *    An __init data area is used for the head array.
 	 * 3) Create the remaining kmalloc caches, with minimally sized
 	 *    head arrays.
-	 * 4) Replace the __init data head arrays for kmem_cache and the first
+	 * 4) Replace the __init data head arrays for cache_cache and the first
 	 *    kmalloc cache with kmalloc allocated arrays.
-	 * 5) Replace the __init data for kmem_list3 for kmem_cache and
+	 * 5) Replace the __init data for kmem_list3 for cache_cache and
 	 *    the other cache's with kmalloc allocated memory.
 	 * 6) Resize the head arrays of the kmalloc caches to their final sizes.
 	 */
 
 	node = numa_mem_id();
 
-	/* 1) create the kmem_cache */
+	/* 1) create the cache_cache */
 	INIT_LIST_HEAD(&slab_caches);
-	list_add(&kmem_cache->list, &slab_caches);
-	kmem_cache->colour_off = cache_line_size();
-	kmem_cache->array[smp_processor_id()] = &initarray_cache.cache;
-	kmem_cache->nodelists[node] = &initkmem_list3[CACHE_CACHE + node];
+	list_add(&cache_cache.list, &slab_caches);
+	cache_cache.colour_off = cache_line_size();
+	cache_cache.array[smp_processor_id()] = &initarray_cache.cache;
+	cache_cache.nodelists[node] = &initkmem_list3[CACHE_CACHE + node];
 
 	/*
 	 * struct kmem_cache size depends on nr_node_ids & nr_cpu_ids
 	 */
-	kmem_cache->size = offsetof(struct kmem_cache, array[nr_cpu_ids]) +
+	cache_cache.size = offsetof(struct kmem_cache, array[nr_cpu_ids]) +
 				  nr_node_ids * sizeof(struct kmem_list3 *);
-	kmem_cache->object_size = kmem_cache->size;
-	kmem_cache->size = ALIGN(kmem_cache->object_size,
+	cache_cache.object_size = cache_cache.size;
+	cache_cache.size = ALIGN(cache_cache.size,
 					cache_line_size());
-	kmem_cache->reciprocal_buffer_size =
-		reciprocal_value(kmem_cache->size);
+	cache_cache.reciprocal_buffer_size =
+		reciprocal_value(cache_cache.size);
 
 	for (order = 0; order < MAX_ORDER; order++) {
-		cache_estimate(order, kmem_cache->size,
-			cache_line_size(), 0, &left_over, &kmem_cache->num);
-		if (kmem_cache->num)
+		cache_estimate(order, cache_cache.size,
+			cache_line_size(), 0, &left_over, &cache_cache.num);
+		if (cache_cache.num)
 			break;
 	}
-	BUG_ON(!kmem_cache->num);
-	kmem_cache->gfporder = order;
-	kmem_cache->colour = left_over / kmem_cache->colour_off;
-	kmem_cache->slab_size = ALIGN(kmem_cache->num * sizeof(kmem_bufctl_t) +
+	BUG_ON(!cache_cache.num);
+	cache_cache.gfporder = order;
+	cache_cache.colour = left_over / cache_cache.colour_off;
+	cache_cache.slab_size = ALIGN(cache_cache.num * sizeof(kmem_bufctl_t) +
 				      sizeof(struct slab), cache_line_size());
 
 	/* 2+3) create the kmalloc caches */
@@ -1676,22 +1674,19 @@ void __init kmem_cache_init(void)
 	 * bug.
 	 */
 
-	sizes[INDEX_AC].cs_cachep = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT);
-	sizes[INDEX_AC].cs_cachep->name = names[INDEX_AC].name;
-	sizes[INDEX_AC].cs_cachep->size = sizes[INDEX_AC].cs_size;
-	sizes[INDEX_AC].cs_cachep->object_size = sizes[INDEX_AC].cs_size;
-	sizes[INDEX_AC].cs_cachep->align = ARCH_KMALLOC_MINALIGN;
-	__kmem_cache_create(sizes[INDEX_AC].cs_cachep, ARCH_KMALLOC_FLAGS|SLAB_PANIC);
-	list_add(&sizes[INDEX_AC].cs_cachep->list, &slab_caches);
+	sizes[INDEX_AC].cs_cachep = __kmem_cache_create(names[INDEX_AC].name,
+					sizes[INDEX_AC].cs_size,
+					ARCH_KMALLOC_MINALIGN,
+					ARCH_KMALLOC_FLAGS|SLAB_PANIC,
+					NULL);
 
 	if (INDEX_AC != INDEX_L3) {
-		sizes[INDEX_L3].cs_cachep = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT);
-		sizes[INDEX_L3].cs_cachep->name = names[INDEX_L3].name;
-		sizes[INDEX_L3].cs_cachep->size = sizes[INDEX_L3].cs_size;
-		sizes[INDEX_L3].cs_cachep->object_size = sizes[INDEX_L3].cs_size;
-		sizes[INDEX_L3].cs_cachep->align = ARCH_KMALLOC_MINALIGN;
-		__kmem_cache_create(sizes[INDEX_L3].cs_cachep, ARCH_KMALLOC_FLAGS|SLAB_PANIC);
-		list_add(&sizes[INDEX_L3].cs_cachep->list, &slab_caches);
+		sizes[INDEX_L3].cs_cachep =
+			__kmem_cache_create(names[INDEX_L3].name,
+				sizes[INDEX_L3].cs_size,
+				ARCH_KMALLOC_MINALIGN,
+				ARCH_KMALLOC_FLAGS|SLAB_PANIC,
+				NULL);
 	}
 
 	slab_early_init = 0;
@@ -1705,23 +1700,20 @@ void __init kmem_cache_init(void)
 		 * allow tighter packing of the smaller caches.
 		 */
 		if (!sizes->cs_cachep) {
-			sizes->cs_cachep = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT);
-			sizes->cs_cachep->name = names->name;
-			sizes->cs_cachep->size = sizes->cs_size;
-			sizes->cs_cachep->object_size = sizes->cs_size;
-			sizes->cs_cachep->align = ARCH_KMALLOC_MINALIGN;
-			__kmem_cache_create(sizes->cs_cachep, ARCH_KMALLOC_FLAGS|SLAB_PANIC);
-			list_add(&sizes->cs_cachep->list, &slab_caches);
+			sizes->cs_cachep = __kmem_cache_create(names->name,
+					sizes->cs_size,
+					ARCH_KMALLOC_MINALIGN,
+					ARCH_KMALLOC_FLAGS|SLAB_PANIC,
+					NULL);
 		}
 #ifdef CONFIG_ZONE_DMA
-		sizes->cs_dmacachep = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT);
-		sizes->cs_dmacachep->name = names->name_dma;
-		sizes->cs_dmacachep->size = sizes->cs_size;
-		sizes->cs_dmacachep->object_size = sizes->cs_size;
-		sizes->cs_dmacachep->align = ARCH_KMALLOC_MINALIGN;
-		__kmem_cache_create(sizes->cs_dmacachep,
-			       ARCH_KMALLOC_FLAGS|SLAB_CACHE_DMA| SLAB_PANIC);
-		list_add(&sizes->cs_dmacachep->list, &slab_caches);
+		sizes->cs_dmacachep = __kmem_cache_create(
+					names->name_dma,
+					sizes->cs_size,
+					ARCH_KMALLOC_MINALIGN,
+					ARCH_KMALLOC_FLAGS|SLAB_CACHE_DMA|
+						SLAB_PANIC,
+					NULL);
 #endif
 		sizes++;
 		names++;
@@ -1732,15 +1724,15 @@ void __init kmem_cache_init(void)
 
 		ptr = kmalloc(sizeof(struct arraycache_init), GFP_NOWAIT);
 
-		BUG_ON(cpu_cache_get(kmem_cache) != &initarray_cache.cache);
-		memcpy(ptr, cpu_cache_get(kmem_cache),
+		BUG_ON(cpu_cache_get(&cache_cache) != &initarray_cache.cache);
+		memcpy(ptr, cpu_cache_get(&cache_cache),
 		       sizeof(struct arraycache_init));
 		/*
 		 * Do not assume that spinlocks can be initialized via memcpy:
 		 */
 		spin_lock_init(&ptr->lock);
 
-		kmem_cache->array[smp_processor_id()] = ptr;
+		cache_cache.array[smp_processor_id()] = ptr;
 
 		ptr = kmalloc(sizeof(struct arraycache_init), GFP_NOWAIT);
 
@@ -1761,7 +1753,7 @@ void __init kmem_cache_init(void)
 		int nid;
 
 		for_each_online_node(nid) {
-			init_list(kmem_cache, &initkmem_list3[CACHE_CACHE + nid], nid);
+			init_list(&cache_cache, &initkmem_list3[CACHE_CACHE + nid], nid);
 
 			init_list(malloc_sizes[INDEX_AC].cs_cachep,
 				  &initkmem_list3[SIZE_AC + nid], nid);
@@ -2210,6 +2202,27 @@ static void slab_destroy(struct kmem_cache *cachep, struct slab *slabp)
 	}
 }
 
+static void __kmem_cache_destroy(struct kmem_cache *cachep)
+{
+	int i;
+	struct kmem_list3 *l3;
+
+	for_each_online_cpu(i)
+	    kfree(cachep->array[i]);
+
+	/* NUMA: free the list3 structures */
+	for_each_online_node(i) {
+		l3 = cachep->nodelists[i];
+		if (l3) {
+			kfree(l3->shared);
+			free_alien_cache(l3->alien);
+			kfree(l3);
+		}
+	}
+	kmem_cache_free(&cache_cache, cachep);
+}
+
+
 /**
  * calculate_slab_order - calculate size (page order) of slabs
  * @cachep: pointer to the cache that is being created
@@ -2346,6 +2359,9 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp)
  * Cannot be called within a int, but can be interrupted.
  * The @ctor is run when new pages are allocated by the cache.
  *
+ * @name must be valid until the cache is destroyed. This implies that
+ * the module calling this has to destroy the cache before getting unloaded.
+ *
  * The flags are
  *
  * %SLAB_POISON - Poison the slab with a known test pattern (a5a5a5a5)
@@ -2358,13 +2374,13 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp)
  * cacheline.  This can be beneficial if you're counting cycles as closely
  * as davem.
  */
-int
-__kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
+struct kmem_cache *
+__kmem_cache_create (const char *name, size_t size, size_t align,
+	unsigned long flags, void (*ctor)(void *))
 {
 	size_t left_over, slab_size, ralign;
+	struct kmem_cache *cachep = NULL;
 	gfp_t gfp;
-	int err;
-	size_t size = cachep->size;
 
 #if DEBUG
 #if FORCED_DEBUG
@@ -2436,8 +2452,8 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 		ralign = ARCH_SLAB_MINALIGN;
 	}
 	/* 3) caller mandated alignment */
-	if (ralign < cachep->align) {
-		ralign = cachep->align;
+	if (ralign < align) {
+		ralign = align;
 	}
 	/* disable debug if necessary */
 	if (ralign > __alignof__(unsigned long long))
@@ -2445,14 +2461,21 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 	/*
 	 * 4) Store it.
 	 */
-	cachep->align = ralign;
+	align = ralign;
 
 	if (slab_is_available())
 		gfp = GFP_KERNEL;
 	else
 		gfp = GFP_NOWAIT;
 
+	/* Get cache's description obj. */
+	cachep = kmem_cache_zalloc(&cache_cache, gfp);
+	if (!cachep)
+		return NULL;
+
 	cachep->nodelists = (struct kmem_list3 **)&cachep->array[nr_cpu_ids];
+	cachep->object_size = size;
+	cachep->align = align;
 #if DEBUG
 
 	/*
@@ -2497,15 +2520,18 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 		 */
 		flags |= CFLGS_OFF_SLAB;
 
-	size = ALIGN(size, cachep->align);
-
-	left_over = calculate_slab_order(cachep, size, cachep->align, flags);
+	size = ALIGN(size, align);
 
-	if (!cachep->num)
-		return -E2BIG;
+	left_over = calculate_slab_order(cachep, size, align, flags);
 
+	if (!cachep->num) {
+		printk(KERN_ERR
+		       "kmem_cache_create: couldn't create cache %s.\n", name);
+		kmem_cache_free(&cache_cache, cachep);
+		return NULL;
+	}
 	slab_size = ALIGN(cachep->num * sizeof(kmem_bufctl_t)
-			  + sizeof(struct slab), cachep->align);
+			  + sizeof(struct slab), align);
 
 	/*
 	 * If the slab has been placed off-slab, and we have enough space then
@@ -2533,8 +2559,8 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 
 	cachep->colour_off = cache_line_size();
 	/* Offset must be a multiple of the alignment. */
-	if (cachep->colour_off < cachep->align)
-		cachep->colour_off = cachep->align;
+	if (cachep->colour_off < align)
+		cachep->colour_off = align;
 	cachep->colour = left_over / cachep->colour_off;
 	cachep->slab_size = slab_size;
 	cachep->flags = flags;
@@ -2555,11 +2581,12 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 		 */
 		BUG_ON(ZERO_OR_NULL_PTR(cachep->slabp_cache));
 	}
+	cachep->ctor = ctor;
+	cachep->name = name;
 
-	err = setup_cpu_cache(cachep, gfp);
-	if (err) {
-		__kmem_cache_shutdown(cachep);
-		return err;
+	if (setup_cpu_cache(cachep, gfp)) {
+		__kmem_cache_destroy(cachep);
+		return NULL;
 	}
 
 	if (flags & SLAB_DEBUG_OBJECTS) {
@@ -2572,7 +2599,9 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags)
 		slab_set_debugobj_lock_classes(cachep);
 	}
 
-	return 0;
+	/* cache setup completed, link it into the list */
+	list_add(&cachep->list, &slab_caches);
+	return cachep;
 }
 
 #if DEBUG
@@ -2731,29 +2760,49 @@ int kmem_cache_shrink(struct kmem_cache *cachep)
 }
 EXPORT_SYMBOL(kmem_cache_shrink);
 
-int __kmem_cache_shutdown(struct kmem_cache *cachep)
+/**
+ * kmem_cache_destroy - delete a cache
+ * @cachep: the cache to destroy
+ *
+ * Remove a &struct kmem_cache object from the slab cache.
+ *
+ * It is expected this function will be called by a module when it is
+ * unloaded.  This will remove the cache completely, and avoid a duplicate
+ * cache being allocated each time a module is loaded and unloaded, if the
+ * module doesn't have persistent in-kernel storage across loads and unloads.
+ *
+ * The cache must be empty before calling this function.
+ *
+ * The caller must guarantee that no one will allocate memory from the cache
+ * during the kmem_cache_destroy().
+ */
+void kmem_cache_destroy(struct kmem_cache *cachep)
 {
-	int i;
-	struct kmem_list3 *l3;
-	int rc = __cache_shrink(cachep);
+	BUG_ON(!cachep || in_interrupt());
 
-	if (rc)
-		return rc;
+	/* Find the cache in the chain of caches. */
+	get_online_cpus();
+	mutex_lock(&slab_mutex);
+	/*
+	 * the chain is never empty, cache_cache is never destroyed
+	 */
+	list_del(&cachep->list);
+	if (__cache_shrink(cachep)) {
+		slab_error(cachep, "Can't free all objects");
+		list_add(&cachep->list, &slab_caches);
+		mutex_unlock(&slab_mutex);
+		put_online_cpus();
+		return;
+	}
 
-	for_each_online_cpu(i)
-	    kfree(cachep->array[i]);
+	if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))
+		rcu_barrier();
 
-	/* NUMA: free the list3 structures */
-	for_each_online_node(i) {
-		l3 = cachep->nodelists[i];
-		if (l3) {
-			kfree(l3->shared);
-			free_alien_cache(l3->alien);
-			kfree(l3);
-		}
-	}
-	return 0;
+	__kmem_cache_destroy(cachep);
+	mutex_unlock(&slab_mutex);
+	put_online_cpus();
 }
+EXPORT_SYMBOL(kmem_cache_destroy);
 
 /*
  * Get the memory for a slab management obj.
@@ -3287,7 +3336,7 @@ static void *cache_alloc_debugcheck_after(struct kmem_cache *cachep,
 
 static bool slab_should_failslab(struct kmem_cache *cachep, gfp_t flags)
 {
-	if (cachep == kmem_cache)
+	if (cachep == &cache_cache)
 		return false;
 
 	return should_failslab(cachep->object_size, flags, cachep->flags);
diff --git a/mm/slab.h b/mm/slab.h
index 7deeb44..db7848c 100644
--- a/mm/slab.h
+++ b/mm/slab.h
@@ -25,26 +25,9 @@ extern enum slab_state slab_state;
 
 /* The slab cache mutex protects the management structures during changes */
 extern struct mutex slab_mutex;
-
-/* The list of all slab caches on the system */
 extern struct list_head slab_caches;
 
-/* The slab cache that manages slab cache information */
-extern struct kmem_cache *kmem_cache;
-
-/* Functions provided by the slab allocators */
-extern int __kmem_cache_create(struct kmem_cache *, unsigned long flags);
-
-#ifdef CONFIG_SLUB
-struct kmem_cache *__kmem_cache_alias(const char *name, size_t size,
+struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
 	size_t align, unsigned long flags, void (*ctor)(void *));
-#else
-static inline struct kmem_cache *__kmem_cache_alias(const char *name, size_t size,
-	size_t align, unsigned long flags, void (*ctor)(void *))
-{ return NULL; }
-#endif
-
-
-int __kmem_cache_shutdown(struct kmem_cache *);
 
 #endif
diff --git a/mm/slab_common.c b/mm/slab_common.c
index 9c21725..8cf8b49 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -22,7 +22,6 @@
 enum slab_state slab_state;
 LIST_HEAD(slab_caches);
 DEFINE_MUTEX(slab_mutex);
-struct kmem_cache *kmem_cache;
 
 #ifdef CONFIG_DEBUG_VM
 static int kmem_cache_sanity_check(const char *name, size_t size)
@@ -99,92 +98,21 @@ struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align
 		unsigned long flags, void (*ctor)(void *))
 {
 	struct kmem_cache *s = NULL;
-	int err = 0;
 
 	get_online_cpus();
 	mutex_lock(&slab_mutex);
-
-	if (!kmem_cache_sanity_check(name, size) == 0)
-		goto out_locked;
-
-
-	s = __kmem_cache_alias(name, size, align, flags, ctor);
-	if (s)
-		goto out_locked;
-
-	s = kmem_cache_zalloc(kmem_cache, GFP_KERNEL);
-	if (s) {
-		s->object_size = s->size = size;
-		s->align = align;
-		s->ctor = ctor;
-		s->name = kstrdup(name, GFP_KERNEL);
-		if (!s->name) {
-			kmem_cache_free(kmem_cache, s);
-			err = -ENOMEM;
-			goto out_locked;
-		}
-
-		err = __kmem_cache_create(s, flags);
-		if (!err) {
-
-			s->refcount = 1;
-			list_add(&s->list, &slab_caches);
-
-		} else {
-			kfree(s->name);
-			kmem_cache_free(kmem_cache, s);
-		}
-	} else
-		err = -ENOMEM;
-
-out_locked:
+	if (kmem_cache_sanity_check(name, size) == 0)
+		s = __kmem_cache_create(name, size, align, flags, ctor);
 	mutex_unlock(&slab_mutex);
 	put_online_cpus();
 
-	if (err) {
-
-		if (flags & SLAB_PANIC)
-			panic("kmem_cache_create: Failed to create slab '%s'. Error %d\n",
-				name, err);
-		else {
-			printk(KERN_WARNING "kmem_cache_create(%s) failed with error %d",
-				name, err);
-			dump_stack();
-		}
-
-		return NULL;
-	}
+	if (!s && (flags & SLAB_PANIC))
+		panic("kmem_cache_create: Failed to create slab '%s'\n", name);
 
 	return s;
 }
 EXPORT_SYMBOL(kmem_cache_create);
 
-void kmem_cache_destroy(struct kmem_cache *s)
-{
-	get_online_cpus();
-	mutex_lock(&slab_mutex);
-	s->refcount--;
-	if (!s->refcount) {
-		list_del(&s->list);
-
-		if (!__kmem_cache_shutdown(s)) {
-			if (s->flags & SLAB_DESTROY_BY_RCU)
-				rcu_barrier();
-
-			kfree(s->name);
-			kmem_cache_free(kmem_cache, s);
-		} else {
-			list_add(&s->list, &slab_caches);
-			printk(KERN_ERR "kmem_cache_destroy %s: Slab cache still has objects\n",
-				s->name);
-			dump_stack();
-		}
-	}
-	mutex_unlock(&slab_mutex);
-	put_online_cpus();
-}
-EXPORT_SYMBOL(kmem_cache_destroy);
-
 int slab_is_available(void)
 {
 	return slab_state >= UP;
diff --git a/mm/slob.c b/mm/slob.c
index 3edfeaa..45d4ca7 100644
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -508,24 +508,44 @@ size_t ksize(const void *block)
 }
 EXPORT_SYMBOL(ksize);
 
-int __kmem_cache_create(struct kmem_cache *c, unsigned long flags)
+struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
+	size_t align, unsigned long flags, void (*ctor)(void *))
 {
-	size_t align = c->size;
+	struct kmem_cache *c;
 
-	if (flags & SLAB_DESTROY_BY_RCU) {
-		/* leave room for rcu footer at the end of object */
-		c->size += sizeof(struct slob_rcu);
+	c = slob_alloc(sizeof(struct kmem_cache),
+		GFP_KERNEL, ARCH_KMALLOC_MINALIGN, -1);
+
+	if (c) {
+		c->name = name;
+		c->size = size;
+		if (flags & SLAB_DESTROY_BY_RCU) {
+			/* leave room for rcu footer at the end of object */
+			c->size += sizeof(struct slob_rcu);
+		}
+		c->flags = flags;
+		c->ctor = ctor;
+		/* ignore alignment unless it's forced */
+		c->align = (flags & SLAB_HWCACHE_ALIGN) ? SLOB_ALIGN : 0;
+		if (c->align < ARCH_SLAB_MINALIGN)
+			c->align = ARCH_SLAB_MINALIGN;
+		if (c->align < align)
+			c->align = align;
+
+		kmemleak_alloc(c, sizeof(struct kmem_cache), 1, GFP_KERNEL);
+		c->refcount = 1;
 	}
-	c->flags = flags;
-	/* ignore alignment unless it's forced */
-	c->align = (flags & SLAB_HWCACHE_ALIGN) ? SLOB_ALIGN : 0;
-	if (c->align < ARCH_SLAB_MINALIGN)
-		c->align = ARCH_SLAB_MINALIGN;
-	if (c->align < align)
-		c->align = align;
+	return c;
+}
 
-	return 0;
+void kmem_cache_destroy(struct kmem_cache *c)
+{
+	kmemleak_free(c);
+	if (c->flags & SLAB_DESTROY_BY_RCU)
+		rcu_barrier();
+	slob_free(c, sizeof(struct kmem_cache));
 }
+EXPORT_SYMBOL(kmem_cache_destroy);
 
 void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
 {
@@ -593,28 +613,14 @@ unsigned int kmem_cache_size(struct kmem_cache *c)
 }
 EXPORT_SYMBOL(kmem_cache_size);
 
-int __kmem_cache_shutdown(struct kmem_cache *c)
-{
-	/* No way to check for remaining objects */
-	return 0;
-}
-
 int kmem_cache_shrink(struct kmem_cache *d)
 {
 	return 0;
 }
 EXPORT_SYMBOL(kmem_cache_shrink);
 
-struct kmem_cache kmem_cache_boot = {
-	.name = "kmem_cache",
-	.size = sizeof(struct kmem_cache),
-	.flags = SLAB_PANIC,
-	.align = ARCH_KMALLOC_MINALIGN,
-};
-
 void __init kmem_cache_init(void)
 {
-	kmem_cache = &kmem_cache_boot;
 	slab_state = UP;
 }
 
diff --git a/mm/slub.c b/mm/slub.c
index dafd465..c67bd0a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -210,7 +210,11 @@ static void sysfs_slab_remove(struct kmem_cache *);
 static inline int sysfs_slab_add(struct kmem_cache *s) { return 0; }
 static inline int sysfs_slab_alias(struct kmem_cache *s, const char *p)
 							{ return 0; }
-static inline void sysfs_slab_remove(struct kmem_cache *s) { }
+static inline void sysfs_slab_remove(struct kmem_cache *s)
+{
+	kfree(s->name);
+	kfree(s);
+}
 
 #endif
 
@@ -620,7 +624,7 @@ static void object_err(struct kmem_cache *s, struct page *page,
 	print_trailer(s, page, object);
 }
 
-static void slab_err(struct kmem_cache *s, struct page *page, const char *fmt, ...)
+static void slab_err(struct kmem_cache *s, struct page *page, char *fmt, ...)
 {
 	va_list args;
 	char buf[100];
@@ -2610,13 +2614,6 @@ void kmem_cache_free(struct kmem_cache *s, void *x)
 
 	page = virt_to_head_page(x);
 
-	if (kmem_cache_debug(s) && page->slab != s) {
-		pr_err("kmem_cache_free: Wrong slab cache. %s but object"
-			" is from  %s\n", page->slab->name, s->name);
-		WARN_ON_ONCE(1);
-		return;
-	}
-
 	slab_free(s, page, x, _RET_IP_);
 
 	trace_kmem_cache_free(_RET_IP_, x);
@@ -3031,9 +3028,17 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order)
 
 }
 
-static int kmem_cache_open(struct kmem_cache *s, unsigned long flags)
+static int kmem_cache_open(struct kmem_cache *s,
+		const char *name, size_t size,
+		size_t align, unsigned long flags,
+		void (*ctor)(void *))
 {
-	s->flags = kmem_cache_flags(s->size, flags, s->name, s->ctor);
+	memset(s, 0, kmem_size);
+	s->name = name;
+	s->ctor = ctor;
+	s->object_size = size;
+	s->align = align;
+	s->flags = kmem_cache_flags(size, flags, name, ctor);
 	s->reserved = 0;
 
 	if (need_reserve_slab_rcu && (s->flags & SLAB_DESTROY_BY_RCU))
@@ -3095,6 +3100,7 @@ static int kmem_cache_open(struct kmem_cache *s, unsigned long flags)
 	else
 		s->cpu_partial = 30;
 
+	s->refcount = 1;
 #ifdef CONFIG_NUMA
 	s->remote_node_defrag_ratio = 1000;
 #endif
@@ -3102,16 +3108,16 @@ static int kmem_cache_open(struct kmem_cache *s, unsigned long flags)
 		goto error;
 
 	if (alloc_kmem_cache_cpus(s))
-		return 0;
+		return 1;
 
 	free_kmem_cache_nodes(s);
 error:
 	if (flags & SLAB_PANIC)
 		panic("Cannot create slab %s size=%lu realsize=%u "
 			"order=%u offset=%u flags=%lx\n",
-			s->name, (unsigned long)s->size, s->size, oo_order(s->oo),
+			s->name, (unsigned long)size, s->size, oo_order(s->oo),
 			s->offset, flags);
-	return -EINVAL;
+	return 0;
 }
 
 /*
@@ -3133,7 +3139,7 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page,
 				     sizeof(long), GFP_ATOMIC);
 	if (!map)
 		return;
-	slab_err(s, page, text, s->name);
+	slab_err(s, page, "%s", text);
 	slab_lock(page);
 
 	get_map(s, page, map);
@@ -3165,7 +3171,7 @@ static void free_partial(struct kmem_cache *s, struct kmem_cache_node *n)
 			discard_slab(s, page);
 		} else {
 			list_slab_objects(s, page,
-			"Objects remaining in %s on kmem_cache_close()");
+				"Objects remaining on kmem_cache_close()");
 		}
 	}
 }
@@ -3178,6 +3184,7 @@ static inline int kmem_cache_close(struct kmem_cache *s)
 	int node;
 
 	flush_all(s);
+	free_percpu(s->cpu_slab);
 	/* Attempt to free all objects */
 	for_each_node_state(node, N_NORMAL_MEMORY) {
 		struct kmem_cache_node *n = get_node(s, node);
@@ -3186,20 +3193,33 @@ static inline int kmem_cache_close(struct kmem_cache *s)
 		if (n->nr_partial || slabs_node(s, node))
 			return 1;
 	}
-	free_percpu(s->cpu_slab);
 	free_kmem_cache_nodes(s);
 	return 0;
 }
 
-int __kmem_cache_shutdown(struct kmem_cache *s)
+/*
+ * Close a cache and release the kmem_cache structure
+ * (must be used for caches created using kmem_cache_create)
+ */
+void kmem_cache_destroy(struct kmem_cache *s)
 {
-	int rc = kmem_cache_close(s);
-
-	if (!rc)
+	mutex_lock(&slab_mutex);
+	s->refcount--;
+	if (!s->refcount) {
+		list_del(&s->list);
+		mutex_unlock(&slab_mutex);
+		if (kmem_cache_close(s)) {
+			printk(KERN_ERR "SLUB %s: %s called for cache that "
+				"still has objects.\n", s->name, __func__);
+			dump_stack();
+		}
+		if (s->flags & SLAB_DESTROY_BY_RCU)
+			rcu_barrier();
 		sysfs_slab_remove(s);
-
-	return rc;
+	} else
+		mutex_unlock(&slab_mutex);
 }
+EXPORT_SYMBOL(kmem_cache_destroy);
 
 /********************************************************************
  *		Kmalloc subsystem
@@ -3208,6 +3228,8 @@ int __kmem_cache_shutdown(struct kmem_cache *s)
 struct kmem_cache *kmalloc_caches[SLUB_PAGE_SHIFT];
 EXPORT_SYMBOL(kmalloc_caches);
 
+static struct kmem_cache *kmem_cache;
+
 #ifdef CONFIG_ZONE_DMA
 static struct kmem_cache *kmalloc_dma_caches[SLUB_PAGE_SHIFT];
 #endif
@@ -3253,17 +3275,14 @@ static struct kmem_cache *__init create_kmalloc_cache(const char *name,
 {
 	struct kmem_cache *s;
 
-	s = kmem_cache_zalloc(kmem_cache, GFP_NOWAIT);
-
-	s->name = name;
-	s->size = s->object_size = size;
-	s->align = ARCH_KMALLOC_MINALIGN;
+	s = kmem_cache_alloc(kmem_cache, GFP_NOWAIT);
 
 	/*
 	 * This function is called with IRQs disabled during early-boot on
 	 * single CPU so there's no need to take slab_mutex here.
 	 */
-	if (kmem_cache_open(s, flags))
+	if (!kmem_cache_open(s, name, size, ARCH_KMALLOC_MINALIGN,
+								flags, NULL))
 		goto panic;
 
 	list_add(&s->list, &slab_caches);
@@ -3702,7 +3721,7 @@ void __init kmem_cache_init(void)
 		slub_max_order = 0;
 
 	kmem_size = offsetof(struct kmem_cache, node) +
-			nr_node_ids * sizeof(struct kmem_cache_node *);
+				nr_node_ids * sizeof(struct kmem_cache_node *);
 
 	/* Allocate two kmem_caches from the page allocator */
 	kmalloc_size = ALIGN(kmem_size, cache_line_size());
@@ -3716,10 +3735,9 @@ void __init kmem_cache_init(void)
 	 */
 	kmem_cache_node = (void *)kmem_cache + kmalloc_size;
 
-	kmem_cache_node->name = "kmem_cache_node";
-	kmem_cache_node->size = kmem_cache_node->object_size =
-		sizeof(struct kmem_cache_node);
-	kmem_cache_open(kmem_cache_node, SLAB_HWCACHE_ALIGN | SLAB_PANIC);
+	kmem_cache_open(kmem_cache_node, "kmem_cache_node",
+		sizeof(struct kmem_cache_node),
+		0, SLAB_HWCACHE_ALIGN | SLAB_PANIC, NULL);
 
 	hotplug_memory_notifier(slab_memory_callback, SLAB_CALLBACK_PRI);
 
@@ -3727,10 +3745,8 @@ void __init kmem_cache_init(void)
 	slab_state = PARTIAL;
 
 	temp_kmem_cache = kmem_cache;
-	kmem_cache->name = "kmem_cache";
-	kmem_cache->size = kmem_cache->object_size = kmem_size;
-	kmem_cache_open(kmem_cache, SLAB_HWCACHE_ALIGN | SLAB_PANIC);
-
+	kmem_cache_open(kmem_cache, "kmem_cache", kmem_size,
+		0, SLAB_HWCACHE_ALIGN | SLAB_PANIC, NULL);
 	kmem_cache = kmem_cache_alloc(kmem_cache, GFP_NOWAIT);
 	memcpy(kmem_cache, temp_kmem_cache, kmem_size);
 
@@ -3919,10 +3935,11 @@ static struct kmem_cache *find_mergeable(size_t size,
 	return NULL;
 }
 
-struct kmem_cache *__kmem_cache_alias(const char *name, size_t size,
+struct kmem_cache *__kmem_cache_create(const char *name, size_t size,
 		size_t align, unsigned long flags, void (*ctor)(void *))
 {
 	struct kmem_cache *s;
+	char *n;
 
 	s = find_mergeable(size, align, flags, name, ctor);
 	if (s) {
@@ -3936,29 +3953,36 @@ struct kmem_cache *__kmem_cache_alias(const char *name, size_t size,
 
 		if (sysfs_slab_alias(s, name)) {
 			s->refcount--;
-			s = NULL;
+			return NULL;
 		}
+		return s;
 	}
 
-	return s;
-}
-
-int __kmem_cache_create(struct kmem_cache *s, unsigned long flags)
-{
-	int err;
+	n = kstrdup(name, GFP_KERNEL);
+	if (!n)
+		return NULL;
 
-	err = kmem_cache_open(s, flags);
-	if (err)
-		return err;
+	s = kmalloc(kmem_size, GFP_KERNEL);
+	if (s) {
+		if (kmem_cache_open(s, n,
+				size, align, flags, ctor)) {
+			int r;
 
-	mutex_unlock(&slab_mutex);
-	err = sysfs_slab_add(s);
-	mutex_lock(&slab_mutex);
+			list_add(&s->list, &slab_caches);
+			mutex_unlock(&slab_mutex);
+			r = sysfs_slab_add(s);
+			mutex_lock(&slab_mutex);
 
-	if (err)
-		kmem_cache_close(s);
+			if (!r)
+				return s;
 
-	return err;
+			list_del(&s->list);
+			kmem_cache_close(s);
+		}
+		kfree(s);
+	}
+	kfree(n);
+	return NULL;
 }
 
 #ifdef CONFIG_SMP
@@ -5188,6 +5212,14 @@ static ssize_t slab_attr_store(struct kobject *kobj,
 	return err;
 }
 
+static void kmem_cache_release(struct kobject *kobj)
+{
+	struct kmem_cache *s = to_slab(kobj);
+
+	kfree(s->name);
+	kfree(s);
+}
+
 static const struct sysfs_ops slab_sysfs_ops = {
 	.show = slab_attr_show,
 	.store = slab_attr_store,
@@ -5195,6 +5227,7 @@ static const struct sysfs_ops slab_sysfs_ops = {
 
 static struct kobj_type slab_ktype = {
 	.sysfs_ops = &slab_sysfs_ops,
+	.release = kmem_cache_release
 };
 
 static int uevent_filter(struct kset *kset, struct kobject *kobj)
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index acb8650..586e748 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -172,9 +172,22 @@ else
 fi
 maintainer="$name <$email>"
 
+# Try to determine distribution
+if [ -e $(which lsb_release) ]; then
+       codename=$(lsb_release --codename --short)
+       if [ "$codename" != "" ]; then
+		distribution=$codename
+       else
+		distribution="UNRELEASED"
+		echo "WARNING: The distribution could NOT be determined!"
+       fi
+else
+       echo "HINT: Install lsb_release binary, this helps to identify your distribution!"
+fi
+
 # Generate a simple changelog template
 cat <<EOF > debian/changelog
-linux-upstream ($packageversion) unstable; urgency=low
+linux-upstream ($packageversion) $distribution; urgency=low
 
   * Custom built Linux kernel.
 
@@ -188,10 +201,10 @@ This is a packacked upstream version of the Linux kernel.
 The sources may be found at most Linux ftp sites, including:
 ftp://ftp.kernel.org/pub/linux/kernel
 
-Copyright: 1991 - 2009 Linus Torvalds and others.
+Copyright: 1991 - 2012 Linus Torvalds and others.
 
 The git repository for mainline kernel development is at:
-git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* RE: ia64 dies in slab code on next-20120906
  2012-09-06 20:13 ` Christoph Lameter
@ 2012-09-06 20:26   ` Luck, Tony
  2012-09-06 20:33     ` Christoph Lameter
  0 siblings, 1 reply; 19+ messages in thread
From: Luck, Tony @ 2012-09-06 20:26 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: linux-next, Pekka Enberg

> Huh? Is there any additional info available? Backtrace?

Sorry - that's all that I got on the console.

>> ip is at new_slab+0x90/0x680

> Any way to relate that to a line in the code?

The instruction there is a "fetchadd8.rel r14=[r9],1", so we are doing an atomic add.

r9 was computed as 32 + return value from a call to allocate_slab()

So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c


-Tony

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: ia64 dies in slab code on next-20120906
  2012-09-06 20:26   ` Luck, Tony
@ 2012-09-06 20:33     ` Christoph Lameter
  2012-09-06 20:45       ` Sedat Dilek
  2012-09-06 23:41       ` Luck, Tony
  0 siblings, 2 replies; 19+ messages in thread
From: Christoph Lameter @ 2012-09-06 20:33 UTC (permalink / raw)
  To: Luck, Tony; +Cc: linux-next, Pekka Enberg

On Thu, 6 Sep 2012, Luck, Tony wrote:

> r9 was computed as 32 + return value from a call to allocate_slab()
>
> So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c

Ok that would mean its not related to object arrangement within the page
done by the allocator. How can a atomic_long value become misaligned?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 20:33     ` Christoph Lameter
@ 2012-09-06 20:45       ` Sedat Dilek
  2012-09-06 21:00         ` Sedat Dilek
  2012-09-06 23:41       ` Luck, Tony
  1 sibling, 1 reply; 19+ messages in thread
From: Sedat Dilek @ 2012-09-06 20:45 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Luck, Tony, linux-next, Pekka Enberg

On Thu, Sep 6, 2012 at 10:33 PM, Christoph Lameter <cl@linux.com> wrote:
> On Thu, 6 Sep 2012, Luck, Tony wrote:
>
>> r9 was computed as 32 + return value from a call to allocate_slab()
>>
>> So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c
>
> Ok that would mean its not related to object arrangement within the page
> done by the allocator. How can a atomic_long value become misaligned?
>

Did the items in slab_err() got mixed (see below hunk from my revert-patch)?

@@ -3133,7 +3139,7 @@ static void list_slab_objects(struct kmem_cache
*s, struct page *page,
 				     sizeof(long), GFP_ATOMIC);
 	if (!map)
 		return;
-	slab_err(s, page, text, s->name);
+	slab_err(s, page, "%s", text);
 	slab_lock(page);

 	get_map(s, page, map);

- Sedat -

>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-next" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 20:45       ` Sedat Dilek
@ 2012-09-06 21:00         ` Sedat Dilek
  2012-09-07  8:13           ` Sedat Dilek
  0 siblings, 1 reply; 19+ messages in thread
From: Sedat Dilek @ 2012-09-06 21:00 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Luck, Tony, linux-next, Pekka Enberg

On Thu, Sep 6, 2012 at 10:45 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> On Thu, Sep 6, 2012 at 10:33 PM, Christoph Lameter <cl@linux.com> wrote:
>> On Thu, 6 Sep 2012, Luck, Tony wrote:
>>
>>> r9 was computed as 32 + return value from a call to allocate_slab()
>>>
>>> So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c
>>
>> Ok that would mean its not related to object arrangement within the page
>> done by the allocator. How can a atomic_long value become misaligned?
>>
>
> Did the items in slab_err() got mixed (see below hunk from my revert-patch)?
>
> @@ -3133,7 +3139,7 @@ static void list_slab_objects(struct kmem_cache
> *s, struct page *page,
>                                      sizeof(long), GFP_ATOMIC);
>         if (!map)
>                 return;
> -       slab_err(s, page, text, s->name);
> +       slab_err(s, page, "%s", text);
>         slab_lock(page);
>
>         get_map(s, page, map);
>

I am not a mm/slab expert, but checking [1]:

diff --git a/mm/slub.c b/mm/slub.c
index 24aa362..724adea 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -624,7 +624,7 @@ static void object_err(struct kmem_cache *s,
struct page *page,
        print_trailer(s, page, object);
 }

-static void slab_err(struct kmem_cache *s, struct page *page, char *fmt, ...)
+static void slab_err(struct kmem_cache *s, struct page *page, const
char *fmt, ...)
 {
        va_list args;
        char buf[100];
@@ -3146,7 +3146,7 @@ static void list_slab_objects(struct kmem_cache
*s, struct page *page,
                                     sizeof(long), GFP_ATOMIC);
        if (!map)
                return;
-       slab_err(s, page, "%s", text);
+       slab_err(s, page, text, s->name);
        slab_lock(page);

        get_map(s, page, map);

So, in slab_err() 4th item is "const char *fmt", so it should be instead...?

-       slab_err(s, page, "%s", text);
+       slab_err(s, page, s->name, text);

( Untested )

- Sedat -

[1] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=commitdiff;h=945cf2b6199be70ff03102b9e642c3bb05d01de9

> - Sedat -
>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-next" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* RE: ia64 dies in slab code on next-20120906
  2012-09-06 20:33     ` Christoph Lameter
  2012-09-06 20:45       ` Sedat Dilek
@ 2012-09-06 23:41       ` Luck, Tony
  1 sibling, 0 replies; 19+ messages in thread
From: Luck, Tony @ 2012-09-06 23:41 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: linux-next, Pekka Enberg

> Ok that would mean its not related to object arrangement within the page
> done by the allocator. How can a atomic_long value become misaligned?

It isn't just misaligned ... it is completely trashed. 0xca2ffc55fb373e95 isn't
any kind of valid address on ia64. I'm I little surprised that we didn't machine
check as we will have interpreted it as an uncacheable access to a non-existent
physical address.

-Tony

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 18:39 ia64 dies in slab code on next-20120906 Tony Luck
  2012-09-06 19:39 ` Sedat Dilek
  2012-09-06 20:13 ` Christoph Lameter
@ 2012-09-07  1:26 ` Stephen Rothwell
  2012-09-08 18:27   ` Christoph Lameter
  2 siblings, 1 reply; 19+ messages in thread
From: Stephen Rothwell @ 2012-09-07  1:26 UTC (permalink / raw)
  To: Tony Luck; +Cc: linux-next, Christoph Lameter, Pekka Enberg

[-- Attachment #1: Type: text/plain, Size: 2842 bytes --]

Hi all,

On Thu, 6 Sep 2012 11:39:16 -0700 Tony Luck <tony.luck@intel.com> wrote:
>
> Worked fine yesterday on next-20120905, crashes today. First sign of trouble
> was an unaligned access, then a NULL dereference. SL*B related bits of
> my config:
> 
> CONFIG_SLUB_DEBUG=y
> # CONFIG_SLAB is not set
> CONFIG_SLUB=y
> CONFIG_SLABINFO=y
> # CONFIG_SLUB_DEBUG_ON is not set
> # CONFIG_SLUB_STATS is not set

I get a similar crash on some of my PowerPC boot tests:

config bits:

CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_SLABINFO=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set

console log:

Memory: 10297068k/10485760k available (12364k kernel code, 188692k reserved, 1228k data, 904k bss, 472k init)
Unable to handle kernel paging request for data at address 0x6c6f632d34303936
Faulting instruction address: 0xc0000000001ba73c
Oops: Kernel access of bad area, sig: 11 [#1]
SMP NR_CPUS=32 NUMA pSeries
Modules linked in:
NIP: c0000000001ba73c LR: c0000000001ba9a4 CTR: 0000000000000000
REGS: c000000000d2f860 TRAP: 0300   Not tainted  (3.6.0-rc4-autokern1)
MSR: 8000000002001032 <SF,VEC,ME,IR,DR,RI>  CR: 24028084  XER: 00000001
SOFTE: 0
CFAR: 00000000000057ac
DAR: 6c6f632d34303936, DSISR: 40000000
TASK = c000000000c58b00[0] 'swapper' THREAD: c000000000d2c000 CPU: 0
GPR00: 0000000080010400 c000000000d2fae0 c000000000d2bf70 c00000027e000000 
GPR04: f000000008b901c0 c00000027e008000 0000000000000000 0000000000000001 
GPR08: 0000000022000000 6c6f632d34303936 000000000000000e 0000000000000000 
GPR12: 0000000044022088 c00000000fffb000 0000000001080000 c00000027e002040 
GPR16: c00000027fee9298 c000000000d4d060 0000000000001680 0000000000000001 
GPR20: c000000000d2fc90 0000000000000000 0000000000000000 0000000000210d00 
GPR24: 0000000000000000 f000000008b901c0 c00000027e008000 c00000027e008000 
GPR28: c00000027e008000 c00000027e008000 c000000000ca32e0 c00000027e000000 
NIP [c0000000001ba73c] .setup_object+0x7c/0xa0
LR [c0000000001ba9a4] .new_slab+0x244/0x3e0
Call Trace:
[c000000000d2fae0] [c000000000d2fb60] init_thread_union+0x3b60/0x4000 (unreliable)
[c000000000d2fb70] [c0000000001ba9a4] .new_slab+0x244/0x3e0
[c000000000d2fc20] [c0000000001bb794] .__slab_alloc+0x364/0x5a0
[c000000000d2fd70] [c0000000001bc8b8] .kmem_cache_alloc+0xb8/0x1f0
[c000000000d2fe20] [c000000000bd030c] .kmem_cache_init+0x128/0x378
[c000000000d2fef0] [c000000000b9d974] .start_kernel+0x1e0/0x48c
[c000000000d2ff90] [c0000000000096f8] .start_here_common+0x20/0x28
Instruction dump:
eba1ffe8 ebc1fff0 ebe1fff8 7c0803a6 4e800020 7ca42b78 38a000bb 4bffe5a9 
7fe3fb78 7fa4eb78 4bffff0d 4bffffc0 <e8090000> f8410028 7fa3eb78 7c0903a6 

The data address above is "loc-4096" ...

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-06 21:00         ` Sedat Dilek
@ 2012-09-07  8:13           ` Sedat Dilek
  0 siblings, 0 replies; 19+ messages in thread
From: Sedat Dilek @ 2012-09-07  8:13 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Luck, Tony, linux-next, Pekka Enberg

On Thu, Sep 6, 2012 at 11:00 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
> On Thu, Sep 6, 2012 at 10:45 PM, Sedat Dilek <sedat.dilek@gmail.com> wrote:
>> On Thu, Sep 6, 2012 at 10:33 PM, Christoph Lameter <cl@linux.com> wrote:
>>> On Thu, 6 Sep 2012, Luck, Tony wrote:
>>>
>>>> r9 was computed as 32 + return value from a call to allocate_slab()
>>>>
>>>> So I think we are inside the inlined "inc_slabs_node()" call on line 1357 of mm/slub.c
>>>
>>> Ok that would mean its not related to object arrangement within the page
>>> done by the allocator. How can a atomic_long value become misaligned?
>>>
>>
>> Did the items in slab_err() got mixed (see below hunk from my revert-patch)?
>>
>> @@ -3133,7 +3139,7 @@ static void list_slab_objects(struct kmem_cache
>> *s, struct page *page,
>>                                      sizeof(long), GFP_ATOMIC);
>>         if (!map)
>>                 return;
>> -       slab_err(s, page, text, s->name);
>> +       slab_err(s, page, "%s", text);
>>         slab_lock(page);
>>
>>         get_map(s, page, map);
>>
>
> I am not a mm/slab expert, but checking [1]:
>
> diff --git a/mm/slub.c b/mm/slub.c
> index 24aa362..724adea 100644 (file)
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -624,7 +624,7 @@ static void object_err(struct kmem_cache *s,
> struct page *page,
>         print_trailer(s, page, object);
>  }
>
> -static void slab_err(struct kmem_cache *s, struct page *page, char *fmt, ...)
> +static void slab_err(struct kmem_cache *s, struct page *page, const
> char *fmt, ...)
>  {
>         va_list args;
>         char buf[100];
> @@ -3146,7 +3146,7 @@ static void list_slab_objects(struct kmem_cache
> *s, struct page *page,
>                                      sizeof(long), GFP_ATOMIC);
>         if (!map)
>                 return;
> -       slab_err(s, page, "%s", text);
> +       slab_err(s, page, text, s->name);
>         slab_lock(page);
>
>         get_map(s, page, map);
>
> So, in slab_err() 4th item is "const char *fmt", so it should be instead...?
>
> -       slab_err(s, page, "%s", text);
> +       slab_err(s, page, s->name, text);
>
> ( Untested )
>

Forget that, wrong view on the parameter list of slab_err().

- Sedat -

> - Sedat -
>
> [1] http://git.kernel.org/?p=linux/kernel/git/penberg/linux.git;a=commitdiff;h=945cf2b6199be70ff03102b9e642c3bb05d01de9
>
>> - Sedat -
>>
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-next" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-07  1:26 ` Stephen Rothwell
@ 2012-09-08 18:27   ` Christoph Lameter
  2012-09-08 21:34     ` Sedat Dilek
                       ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Christoph Lameter @ 2012-09-08 18:27 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Tony Luck, linux-next, Pekka Enberg

Thanks Tony for the additional information regarding the pointer. That got
me thinking about something different.

Try the following fix:

Subject: slub: Zero initial memory segment for kmem_cache and kmem_cache_node

Earlier patches in the common set moved the zeroing of the kmem_cache structure
into common code. See "Move allocation of kmem_cache into common code".

The allocation for the two special structures is still done
from slub specific code but no zeroing is done since the cache creation functions
used to zero. This now needs to be updated so that the structures
are zeroed during allocation in kmem_cache_init().
Otherwise random pointer values may be followed.

Signed-off-by: Christoph Lameter <cl@linux.com>

Index: linux/mm/slub.c
===================================================================
--- linux.orig/mm/slub.c	2012-09-08 13:21:33.523056357 -0500
+++ linux/mm/slub.c	2012-09-08 13:22:12.483056947 -0500
@@ -3705,7 +3705,7 @@
 	/* Allocate two kmem_caches from the page allocator */
 	kmalloc_size = ALIGN(kmem_size, cache_line_size());
 	order = get_order(2 * kmalloc_size);
-	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
+	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);

 	/*
 	 * Must first have the slab cache available for the allocations of the

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-08 18:27   ` Christoph Lameter
@ 2012-09-08 21:34     ` Sedat Dilek
  2012-09-08 22:27       ` Christoph Lameter
  2012-09-10  3:24     ` Stephen Rothwell
  2012-09-10 17:52     ` Luck, Tony
  2 siblings, 1 reply; 19+ messages in thread
From: Sedat Dilek @ 2012-09-08 21:34 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Stephen Rothwell, Tony Luck, linux-next, Pekka Enberg

[-- Attachment #1: Type: text/plain, Size: 2875 bytes --]

On Sat, Sep 8, 2012 at 8:27 PM, Christoph Lameter <cl@linux.com> wrote:
> Thanks Tony for the additional information regarding the pointer. That got
> me thinking about something different.
>
> Try the following fix:
>
> Subject: slub: Zero initial memory segment for kmem_cache and kmem_cache_node
>
> Earlier patches in the common set moved the zeroing of the kmem_cache structure
> into common code. See "Move allocation of kmem_cache into common code".
>
> The allocation for the two special structures is still done
> from slub specific code but no zeroing is done since the cache creation functions
> used to zero. This now needs to be updated so that the structures
> are zeroed during allocation in kmem_cache_init().
> Otherwise random pointer values may be followed.
>
> Signed-off-by: Christoph Lameter <cl@linux.com>
>

Hi,

I have reported the breakage of Linux-Next (next-20120906)
independently on AMD64 [1], but seem to be ignored in this thread.

On my 8th run of git-bisect, I saw the email of Tony and decided to
try a revert of all "slab/common-for-cgroups" commits on top of
"slab/next" (this has not changed and known to be good the day before
in next-20120905).
To say in other words this issue took a lot of my free-time on Thursday.

Dis you test SLAB-only?
Can you please test next time also with a SLUB config?
The next day you removed "slab/common-for-cgroups" from slab/next, why?
You knew that it was broken (before Tony reported IA64 boot problems)?
On linux-mm/linux-next/LKML MLs I have not read any hints/reports
before the one of Tony.
Can you please inform people in time?
I know linux-next is highly experimental, but I use all my
daily-builds on my system here.
Not virtual machine - on real bare metal!

Feel free to add as it fixes the reported issue:

     Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
     Tested-by: Sedat Dilek <sedat.dilek@gmail.com>

Regards,
- Sedat -

P.S.: dmesg and patchset attached!

[1] http://marc.info/?t=134693217300006&r=1&w=2

> Index: linux/mm/slub.c
> ===================================================================
> --- linux.orig/mm/slub.c        2012-09-08 13:21:33.523056357 -0500
> +++ linux/mm/slub.c     2012-09-08 13:22:12.483056947 -0500
> @@ -3705,7 +3705,7 @@
>         /* Allocate two kmem_caches from the page allocator */
>         kmalloc_size = ALIGN(kmem_size, cache_line_size());
>         order = get_order(2 * kmalloc_size);
> -       kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
> +       kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);
>
>         /*
>          * Must first have the slab cache available for the allocations of the
> --
> To unsubscribe from this list: send the line "unsubscribe linux-next" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: dmesg_3.6.0-rc4-next20120906-4-iniza-generic.txt --]
[-- Type: text/plain, Size: 55735 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.6.0-rc4-next20120906-4-iniza-generic (sedat.dilek@gmail.com@fambox) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP Sat Sep 8 23:08:05 CEST 2012
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.6.0-rc4-next20120906-4-iniza-generic root=UUID=001AADA61AAD9964 loop=/ubuntu/disks/root.disk ro init=/lib/systemd/systemd
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] Disabled fast string operations
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000020200000-0x000000003fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000040000000-0x00000000401fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000040200000-0x00000000d9c9efff] usable
[    0.000000] BIOS-e820: [mem 0x00000000d9c9f000-0x00000000dae7efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000dae7f000-0x00000000daf9efff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000daf9f000-0x00000000daffefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000dafff000-0x00000000daffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000db000000-0x00000000df9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffd80000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011fdfffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.6 present.
[    0.000000] DMI: SAMSUNG ELECTRONICS CO., LTD. 530U3BI/530U4BI/530U4BH/530U3BI/530U4BI/530U4BH, BIOS 09XK 08/03/2012
[    0.000000] e820: update [mem 0x00000000-0x0000ffff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x11fe00 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F80000000 write-back
[    0.000000]   1 base 080000000 mask FC0000000 write-back
[    0.000000]   2 base 0C0000000 mask FE0000000 write-back
[    0.000000]   3 base 0DC000000 mask FFC000000 uncachable
[    0.000000]   4 base 0DB000000 mask FFF000000 uncachable
[    0.000000]   5 base 100000000 mask FE0000000 write-back
[    0.000000]   6 base 11FE00000 mask FFFE00000 uncachable
[    0.000000]   7 base 0FFC00000 mask FFFC00000 write-protect
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: last_pfn = 0xdb000 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [mem 0x000f00e0-0x000f00ef] mapped at [ffff8800000f00e0]
[    0.000000] initial memory mapped: [mem 0x00000000-0x1fffffff]
[    0.000000] Base memory trampoline at [ffff880000097000] 97000 size 24576
[    0.000000] init_memory_mapping: [mem 0x00000000-0xdaffffff]
[    0.000000]  [mem 0x00000000-0xdaffffff] page 2M
[    0.000000] kernel direct mapping tables up to 0xdaffffff @ [mem 0x1f923000-0x1fffffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x11fdfffff]
[    0.000000]  [mem 0x100000000-0x11fdfffff] page 2M
[    0.000000] kernel direct mapping tables up to 0x11fdfffff @ [mem 0xd9c99000-0xd9c9efff]
[    0.000000] RAMDISK: [mem 0x36494000-0x37241fff]
[    0.000000] ACPI: RSDP 00000000000f0100 00024 (v02 SECCSD)
[    0.000000] ACPI: XSDT 00000000daffe120 0008C (v01 SECCSD LH43STAR 00000002 PTEC 00000002)
[    0.000000] ACPI: FACP 00000000dafef000 000F4 (v03 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: DSDT 00000000daff2000 082E8 (v02 SECCSD  SNB-CPT 00000000 INTL 20061109)
[    0.000000] ACPI: FACS 00000000daf47000 00040
[    0.000000] ACPI: SLIC 00000000daffd000 00176 (v01 SECCSD LH43STAR 00000002 PTEC 00000001)
[    0.000000] ACPI: SSDT 00000000daffb000 01068 (v01 SECCSD PtidDevc 00001000 INTL 20061109)
[    0.000000] ACPI: ASF! 00000000daff1000 000A5 (v32 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: HPET 00000000dafee000 00038 (v01 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: APIC 00000000dafed000 00098 (v01 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: MCFG 00000000dafec000 0003C (v01 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000dafeb000 00804 (v01  PmRef  Cpu0Ist 00003000 INTL 20061109)
[    0.000000] ACPI: SSDT 00000000dafea000 00996 (v01  PmRef    CpuPm 00003000 INTL 20061109)
[    0.000000] ACPI: UEFI 00000000dafe9000 0003E (v01 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: UEFI 00000000dafe8000 00042 (v01 PTL      COMBUF 00000001 PTL  00000001)
[    0.000000] ACPI: UEFI 00000000dafe7000 0026A (v01 SECCSD LH43STAR 00000002 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000dafe6000 000D0 (v01   Iffs  IffsAsl 00003000 INTL 20061109)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000011fdfffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x11fdfffff]
[    0.000000]   NODE_DATA [mem 0x11fdfc000-0x11fdfffff]
[    0.000000]  [ffffea0000000000-ffffea00047fffff] PMD -> [ffff88011b400000-ffff88011f3fffff] on node 0
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00010000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x11fdfffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00010000-0x0009cfff]
[    0.000000]   node   0: [mem 0x00100000-0x1fffffff]
[    0.000000]   node   0: [mem 0x20200000-0x3fffffff]
[    0.000000]   node   0: [mem 0x40200000-0xd9c9efff]
[    0.000000]   node   0: [mem 0xdafff000-0xdaffffff]
[    0.000000]   node   0: [mem 0x100000000-0x11fdfffff]
[    0.000000] On node 0 totalpages: 1021485
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 6 pages reserved
[    0.000000]   DMA zone: 3911 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 16320 pages used for memmap
[    0.000000]   DMA32 zone: 870624 pages, LIFO batch:31
[    0.000000]   Normal zone: 2040 pages used for memmap
[    0.000000]   Normal zone: 128520 pages, LIFO batch:31
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x03] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x00] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x0e] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 14, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a301 base: 0xfed00000
[    0.000000] smpboot: Allowing 8 CPUs, 4 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 000000000009d000 - 000000000009e000
[    0.000000] PM: Registered nosave memory: 000000000009e000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000e0000
[    0.000000] PM: Registered nosave memory: 00000000000e0000 - 0000000000100000
[    0.000000] PM: Registered nosave memory: 0000000020000000 - 0000000020200000
[    0.000000] PM: Registered nosave memory: 0000000040000000 - 0000000040200000
[    0.000000] PM: Registered nosave memory: 00000000d9c9f000 - 00000000dae7f000
[    0.000000] PM: Registered nosave memory: 00000000dae7f000 - 00000000daf9f000
[    0.000000] PM: Registered nosave memory: 00000000daf9f000 - 00000000dafff000
[    0.000000] PM: Registered nosave memory: 00000000db000000 - 00000000dfa00000
[    0.000000] PM: Registered nosave memory: 00000000dfa00000 - 00000000f8000000
[    0.000000] PM: Registered nosave memory: 00000000f8000000 - 00000000fc000000
[    0.000000] PM: Registered nosave memory: 00000000fc000000 - 00000000fec00000
[    0.000000] PM: Registered nosave memory: 00000000fec00000 - 00000000fec01000
[    0.000000] PM: Registered nosave memory: 00000000fec01000 - 00000000fed08000
[    0.000000] PM: Registered nosave memory: 00000000fed08000 - 00000000fed09000
[    0.000000] PM: Registered nosave memory: 00000000fed09000 - 00000000fed10000
[    0.000000] PM: Registered nosave memory: 00000000fed10000 - 00000000fed1a000
[    0.000000] PM: Registered nosave memory: 00000000fed1a000 - 00000000fed1c000
[    0.000000] PM: Registered nosave memory: 00000000fed1c000 - 00000000fed20000
[    0.000000] PM: Registered nosave memory: 00000000fed20000 - 00000000fee00000
[    0.000000] PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
[    0.000000] PM: Registered nosave memory: 00000000fee01000 - 00000000ffd80000
[    0.000000] PM: Registered nosave memory: 00000000ffd80000 - 0000000100000000
[    0.000000] e820: [mem 0xdfa00000-0xf7ffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:8 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff88011fa00000 s84736 r8192 d21760 u262144
[    0.000000] pcpu-alloc: s84736 r8192 d21760 u262144 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7 
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 1003055
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.6.0-rc4-next20120906-4-iniza-generic root=UUID=001AADA61AAD9964 loop=/ubuntu/disks/root.disk ro init=/lib/systemd/systemd
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] __ex_table already sorted, skipping sort
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Calgary: detecting Calgary via BIOS EBDA area
[    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
[    0.000000] Memory: 3923648k/4716544k available (6419k kernel code, 630604k absent, 162292k reserved, 6729k data, 924k init)
[    0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=8.
[    0.000000] NR_IRQS:16640 nr_irqs:744 16
[    0.000000] Extended CMOS year: 2000
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.004000] tsc: Detected 1596.378 MHz processor
[    0.000002] Calibrating delay loop (skipped), value calculated using timer frequency.. 3192.75 BogoMIPS (lpj=6385512)
[    0.000009] pid_max: default: 32768 minimum: 301
[    0.000034] Security Framework initialized
[    0.000048] AppArmor: AppArmor initialized
[    0.000388] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.001421] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.001866] Mount-cache hash table entries: 256
[    0.002066] Initializing cgroup subsys cpuacct
[    0.002071] Initializing cgroup subsys devices
[    0.002074] Initializing cgroup subsys freezer
[    0.002077] Initializing cgroup subsys blkio
[    0.002079] Initializing cgroup subsys perf_event
[    0.002105] Disabled fast string operations
[    0.002108] CPU: Physical Processor ID: 0
[    0.002110] CPU: Processor Core ID: 0
[    0.002117] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.002117] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[    0.002123] mce: CPU supports 7 MCE banks
[    0.002137] CPU0: Thermal monitoring enabled (TM1)
[    0.002145] process: using mwait in idle threads
[    0.002150] Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
[    0.002150] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
[    0.002150] tlb_flushall_shift: 5
[    0.002247] Freeing SMP alternatives: 20k freed
[    0.004329] ACPI: Core revision 20120711
[    0.011451] ftrace: allocating 24616 entries in 97 pages
[    0.025148] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.064809] smpboot: CPU0: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz stepping 07
[    0.172243] Performance Events: PEBS fmt1+, 16-deep LBR, SandyBridge events, Intel PMU driver.
[    0.172253] ... version:                3
[    0.172255] ... bit width:              48
[    0.172257] ... generic registers:      4
[    0.172259] ... value mask:             0000ffffffffffff
[    0.172262] ... max period:             000000007fffffff
[    0.172264] ... fixed-purpose events:   3
[    0.172266] ... event mask:             000000070000000f
[    0.183578] Disabled fast string operations
[    0.185803] NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter.
[    0.196924] Disabled fast string operations
[    0.210177] Disabled fast string operations
[    0.172537] smpboot: Booting Node   0, Processors  #1 #2 #3
[    0.212305] Brought up 4 CPUs
[    0.212313] smpboot: Total of 4 processors activated (12771.02 BogoMIPS)
[    0.216107] devtmpfs: initialized
[    0.217025] EVM: security.selinux
[    0.217028] EVM: security.SMACK64
[    0.217030] EVM: security.capability
[    0.217072] PM: Registering ACPI NVS region [mem 0xdae7f000-0xdaf9efff] (1179648 bytes)
[    0.218028] regulator-dummy: no parameters
[    0.218064] RTC time: 23:17:56, date: 09/08/12
[    0.218102] NET: Registered protocol family 16
[    0.218249] ACPI: bus type pci registered
[    0.218317] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.218323] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[    0.225723] PCI: Using configuration type 1 for base access
[    0.226572] bio: create slab <bio-0> at 0
[    0.226648] ACPI: Added _OSI(Module Device)
[    0.226651] ACPI: Added _OSI(Processor Device)
[    0.226654] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.226657] ACPI: Added _OSI(Processor Aggregator Device)
[    0.228161] ACPI: EC: Look up EC in DSDT
[    0.240263] ACPI: Executed 1 blocks of module-level executable AML code
[    0.242846] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.244127] ACPI: SSDT 00000000dae70718 00688 (v01  PmRef  Cpu0Cst 00003001 INTL 20061109)
[    0.244527] ACPI: Dynamic OEM Table Load:
[    0.244531] ACPI: SSDT           (null) 00688 (v01  PmRef  Cpu0Cst 00003001 INTL 20061109)
[    0.244813] ACPI: SSDT 00000000dae71a98 00303 (v01  PmRef    ApIst 00003000 INTL 20061109)
[    0.245237] ACPI: Dynamic OEM Table Load:
[    0.245241] ACPI: SSDT           (null) 00303 (v01  PmRef    ApIst 00003000 INTL 20061109)
[    0.245372] ACPI: SSDT 00000000dae6fd98 00119 (v01  PmRef    ApCst 00003000 INTL 20061109)
[    0.245758] ACPI: Dynamic OEM Table Load:
[    0.245761] ACPI: SSDT           (null) 00119 (v01  PmRef    ApCst 00003000 INTL 20061109)
[    0.247424] ACPI: Interpreter enabled
[    0.247430] ACPI: (supports S0 S1 S3 S5)
[    0.247451] ACPI: Using IOAPIC for interrupt routing
[    0.252383] ACPI: Power Resource [FN00] (off)
[    0.252458] ACPI: Power Resource [FN01] (off)
[    0.252530] ACPI: Power Resource [FN02] (off)
[    0.252601] ACPI: Power Resource [FN03] (off)
[    0.252671] ACPI: Power Resource [FN04] (off)
[    0.252970] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    0.253145] ACPI: No dock devices found.
[    0.253150] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.253545] \_SB_.PCI0:_OSC invalid UUID
[    0.253546] _OSC request data:1 8 1f 
[    0.253550] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.253982] PCI host bridge to bus 0000:00
[    0.253988] pci_bus 0000:00: busn_res: [bus 00-3e] is inserted under domain [bus 00-ff]
[    0.253990] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.253993] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[    0.253997] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    0.254000] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    0.254003] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff]
[    0.254007] pci_bus 0000:00: root bus resource [mem 0xfed40000-0xfed44fff]
[    0.254018] pci 0000:00:00.0: [8086:0104] type 00 class 0x060000
[    0.254059] pci 0000:00:02.0: [8086:0116] type 00 class 0x030000
[    0.254071] pci 0000:00:02.0: reg 10: [mem 0xf0000000-0xf03fffff 64bit]
[    0.254078] pci 0000:00:02.0: reg 18: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.254083] pci 0000:00:02.0: reg 20: [io  0x3000-0x303f]
[    0.254145] pci 0000:00:16.0: [8086:1c3a] type 00 class 0x078000
[    0.254170] pci 0000:00:16.0: reg 10: [mem 0xf0705000-0xf070500f 64bit]
[    0.254252] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.254292] pci 0000:00:1a.0: [8086:1c2d] type 00 class 0x0c0320
[    0.254315] pci 0000:00:1a.0: reg 10: [mem 0xf070a000-0xf070a3ff]
[    0.254413] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[    0.254442] pci 0000:00:1b.0: [8086:1c20] type 00 class 0x040300
[    0.254459] pci 0000:00:1b.0: reg 10: [mem 0xf0700000-0xf0703fff 64bit]
[    0.254534] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.254561] pci 0000:00:1c.0: [8086:1c10] type 01 class 0x060400
[    0.254646] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.254677] pci 0000:00:1c.3: [8086:1c16] type 01 class 0x060400
[    0.254762] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.254794] pci 0000:00:1c.4: [8086:1c18] type 01 class 0x060400
[    0.254923] pci 0000:00:1c.4: PME# supported from D0 D3hot D3cold
[    0.254969] pci 0000:00:1d.0: [8086:1c26] type 00 class 0x0c0320
[    0.254993] pci 0000:00:1d.0: reg 10: [mem 0xf0709000-0xf07093ff]
[    0.255090] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[    0.255119] pci 0000:00:1f.0: [8086:1c49] type 00 class 0x060100
[    0.255252] pci 0000:00:1f.2: [8086:1c03] type 00 class 0x010601
[    0.255273] pci 0000:00:1f.2: reg 10: [io  0x3088-0x308f]
[    0.255282] pci 0000:00:1f.2: reg 14: [io  0x3094-0x3097]
[    0.255291] pci 0000:00:1f.2: reg 18: [io  0x3080-0x3087]
[    0.255300] pci 0000:00:1f.2: reg 1c: [io  0x3090-0x3093]
[    0.255309] pci 0000:00:1f.2: reg 20: [io  0x3060-0x307f]
[    0.255319] pci 0000:00:1f.2: reg 24: [mem 0xf0708000-0xf07087ff]
[    0.255368] pci 0000:00:1f.2: PME# supported from D3hot
[    0.255389] pci 0000:00:1f.3: [8086:1c22] type 00 class 0x0c0500
[    0.255406] pci 0000:00:1f.3: reg 10: [mem 0xf0704000-0xf07040ff 64bit]
[    0.255429] pci 0000:00:1f.3: reg 20: [io  0xefa0-0xefbf]
[    0.255508] pci_bus 0000:01: busn_res: [bus 01] is inserted under [bus 00-3e]
[    0.255671] pci 0000:01:00.0: [8086:0091] type 00 class 0x028000
[    0.255851] pci 0000:01:00.0: reg 10: [mem 0xf0600000-0xf0601fff 64bit]
[    0.256579] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.264332] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.264340] pci 0000:00:1c.0:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.264393] pci_bus 0000:02: busn_res: [bus 02] is inserted under [bus 00-3e]
[    0.264476] pci 0000:02:00.0: [10ec:8168] type 00 class 0x020000
[    0.264546] pci 0000:02:00.0: reg 10: [io  0x2000-0x20ff]
[    0.264662] pci 0000:02:00.0: reg 18: [mem 0xf0404000-0xf0404fff 64bit pref]
[    0.264733] pci 0000:02:00.0: reg 20: [mem 0xf0400000-0xf0403fff 64bit pref]
[    0.265063] pci 0000:02:00.0: supports D1 D2
[    0.265064] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.272239] pci 0000:00:1c.3: PCI bridge to [bus 02]
[    0.272252] pci 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
[    0.272278] pci 0000:00:1c.3:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.272348] pci_bus 0000:03: busn_res: [bus 03] is inserted under [bus 00-3e]
[    0.272410] pci 0000:03:00.0: [1b21:1042] type 00 class 0x0c0330
[    0.272447] pci 0000:03:00.0: reg 10: [mem 0xf0500000-0xf0507fff 64bit]
[    0.272644] pci 0000:03:00.0: PME# supported from D3hot D3cold
[    0.280227] pci 0000:00:1c.4: PCI bridge to [bus 03]
[    0.280245] pci 0000:00:1c.4:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.280286] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.280393] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[    0.280429] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP04._PRT]
[    0.280459] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP05._PRT]
[    0.280592] \_SB_.PCI0:_OSC invalid UUID
[    0.280594] _OSC request data:1 1f 1f 
[    0.280597]  pci0000:00: ACPI _OSC support notification failed, disabling PCIe ASPM
[    0.280602]  pci0000:00: Unable to request _OSC control (_OSC support mask: 0x08)
[    0.283298] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[    0.283349] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.283399] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[    0.283446] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 5 6 *10 11 12 14 15)
[    0.283492] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[    0.283540] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 10 11 12 14 15) *0, disabled.
[    0.283588] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 10 *11 12 14 15)
[    0.283635] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 10 11 12 14 15) *9
[    0.283727] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.283735] vgaarb: loaded
[    0.283737] vgaarb: bridge control possible 0000:00:02.0
[    0.283874] SCSI subsystem initialized
[    0.283877] ACPI: bus type scsi registered
[    0.283920] libata version 3.00 loaded.
[    0.283938] ACPI: bus type usb registered
[    0.283954] usbcore: registered new interface driver usbfs
[    0.283964] usbcore: registered new interface driver hub
[    0.283984] usbcore: registered new device driver usb
[    0.284052] PCI: Using ACPI for IRQ routing
[    0.285726] PCI: pci_cache_line_size set to 64 bytes
[    0.285845] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff]
[    0.285847] e820: reserve RAM buffer [mem 0xd9c9f000-0xdbffffff]
[    0.285849] e820: reserve RAM buffer [mem 0xdb000000-0xdbffffff]
[    0.285850] e820: reserve RAM buffer [mem 0x11fe00000-0x11fffffff]
[    0.285932] NetLabel: Initializing
[    0.285935] NetLabel:  domain hash size = 128
[    0.285937] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.285947] NetLabel:  unlabeled traffic allowed by default
[    0.286003] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.286011] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.288024] Switching to clocksource hpet
[    0.293079] AppArmor: AppArmor Filesystem Enabled
[    0.293107] pnp: PnP ACPI init
[    0.293122] ACPI: bus type pnp registered
[    0.293380] pnp 00:00: [bus 00-3e]
[    0.293384] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.293386] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.293387] pnp 00:00: [io  0x0d00-0xffff window]
[    0.293389] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.293391] pnp 00:00: [mem 0x000c0000-0x000c3fff window]
[    0.293393] pnp 00:00: [mem 0x000c4000-0x000c7fff window]
[    0.293394] pnp 00:00: [mem 0x000c8000-0x000cbfff window]
[    0.293396] pnp 00:00: [mem 0x000cc000-0x000cffff window]
[    0.293397] pnp 00:00: [mem 0x000d0000-0x000d3fff window]
[    0.293399] pnp 00:00: [mem 0x000d4000-0x000d7fff window]
[    0.293401] pnp 00:00: [mem 0x000d8000-0x000dbfff window]
[    0.293402] pnp 00:00: [mem 0x000dc000-0x000dffff window]
[    0.293404] pnp 00:00: [mem 0x000e0000-0x000e3fff window]
[    0.293405] pnp 00:00: [mem 0x000e4000-0x000e7fff window]
[    0.293407] pnp 00:00: [mem 0x000e8000-0x000ebfff window]
[    0.293409] pnp 00:00: [mem 0x000ec000-0x000effff window]
[    0.293410] pnp 00:00: [mem 0x000f0000-0x000fffff window]
[    0.293412] pnp 00:00: [mem 0xdfa00000-0xfeafffff window]
[    0.293413] pnp 00:00: [mem 0xfed40000-0xfed44fff window]
[    0.293480] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.293684] pnp 00:01: [io  0x0000-0x001f]
[    0.293686] pnp 00:01: [io  0x0081-0x0091]
[    0.293687] pnp 00:01: [io  0x0093-0x009f]
[    0.293689] pnp 00:01: [io  0x00c0-0x00df]
[    0.293691] pnp 00:01: [dma 4]
[    0.293781] pnp 00:01: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.293789] pnp 00:02: [mem 0xff000000-0xffffffff]
[    0.293808] pnp 00:02: Plug and Play ACPI device, IDs INT0800 (active)
[    0.293879] pnp 00:03: [mem 0xfed00000-0xfed003ff]
[    0.293897] pnp 00:03: Plug and Play ACPI device, IDs PNP0103 (active)
[    0.293906] pnp 00:04: [io  0x00f0]
[    0.293915] pnp 00:04: [irq 13]
[    0.293934] pnp 00:04: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.293944] pnp 00:05: [io  0x002e-0x002f]
[    0.293946] pnp 00:05: [io  0x004e-0x004f]
[    0.293947] pnp 00:05: [io  0x0061]
[    0.293949] pnp 00:05: [io  0x0063]
[    0.293950] pnp 00:05: [io  0x0065]
[    0.293951] pnp 00:05: [io  0x0067]
[    0.293953] pnp 00:05: [io  0x0070]
[    0.293954] pnp 00:05: [io  0x0080]
[    0.293955] pnp 00:05: [io  0x0092]
[    0.293957] pnp 00:05: [io  0x00b2-0x00b3]
[    0.293958] pnp 00:05: [io  0x0680-0x069f]
[    0.293960] pnp 00:05: [io  0x1000-0x100f]
[    0.293961] pnp 00:05: [io  0x5000-0x5003]
[    0.293964] pnp 00:05: [io  0xffff]
[    0.293966] pnp 00:05: [io  0x0400-0x0453]
[    0.293967] pnp 00:05: [io  0x0458-0x047f]
[    0.293968] pnp 00:05: [io  0x0500-0x057f]
[    0.293970] pnp 00:05: [io  0x0a00-0x0a0f]
[    0.293971] pnp 00:05: [io  0x164e-0x164f]
[    0.293973] pnp 00:05: [io  0x5000-0x500f]
[    0.294010] system 00:05: [io  0x0680-0x069f] has been reserved
[    0.294014] system 00:05: [io  0x1000-0x100f] has been reserved
[    0.294018] system 00:05: [io  0x5000-0x5003] has been reserved
[    0.294021] system 00:05: [io  0xffff] has been reserved
[    0.294024] system 00:05: [io  0x0400-0x0453] has been reserved
[    0.294028] system 00:05: [io  0x0458-0x047f] has been reserved
[    0.294031] system 00:05: [io  0x0500-0x057f] has been reserved
[    0.294034] system 00:05: [io  0x0a00-0x0a0f] has been reserved
[    0.294037] system 00:05: [io  0x164e-0x164f] has been reserved
[    0.294041] system 00:05: [io  0x5000-0x500f] could not be reserved
[    0.294045] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.294052] pnp 00:06: [io  0x0070-0x0077]
[    0.294057] pnp 00:06: [irq 8]
[    0.294076] pnp 00:06: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.294102] pnp 00:07: [io  0x0454-0x0457]
[    0.294129] system 00:07: [io  0x0454-0x0457] has been reserved
[    0.294133] system 00:07: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    0.294146] pnp 00:08: [io  0x0060]
[    0.294148] pnp 00:08: [io  0x0064]
[    0.294152] pnp 00:08: [irq 1]
[    0.294172] pnp 00:08: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.294200] pnp 00:09: [irq 12]
[    0.294220] pnp 00:09: Plug and Play ACPI device, IDs ETD0b00 SYN0002 PNP0f13 (active)
[    0.294344] pnp 00:0a: [mem 0xfed1c000-0xfed1ffff]
[    0.294346] pnp 00:0a: [mem 0xfed10000-0xfed17fff]
[    0.294347] pnp 00:0a: [mem 0xfed18000-0xfed18fff]
[    0.294349] pnp 00:0a: [mem 0xfed19000-0xfed19fff]
[    0.294350] pnp 00:0a: [mem 0xf8000000-0xfbffffff]
[    0.294352] pnp 00:0a: [mem 0xfed20000-0xfed3ffff]
[    0.294353] pnp 00:0a: [mem 0xfed90000-0xfed93fff]
[    0.294355] pnp 00:0a: [mem 0xfed45000-0xfed8ffff]
[    0.294356] pnp 00:0a: [mem 0xff000000-0xffffffff]
[    0.294358] pnp 00:0a: [mem 0xfee00000-0xfeefffff]
[    0.294359] pnp 00:0a: [mem 0x00000000-0xffffffffffffffff disabled]
[    0.294394] system 00:0a: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.294398] system 00:0a: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.294402] system 00:0a: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.294405] system 00:0a: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.294409] system 00:0a: [mem 0xf8000000-0xfbffffff] has been reserved
[    0.294412] system 00:0a: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.294416] system 00:0a: [mem 0xfed90000-0xfed93fff] has been reserved
[    0.294419] system 00:0a: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.294423] system 00:0a: [mem 0xff000000-0xffffffff] could not be reserved
[    0.294426] system 00:0a: [mem 0xfee00000-0xfeefffff] could not be reserved
[    0.294430] system 00:0a: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.294778] ACPI Error: Invalid/unsupported resource descriptor: Type 0x00 (20120711/utresrc-650)
[    0.294822] pnp 00:0b: can't evaluate _CRS: 12311
[    0.294906] system 00:0b: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.294930] pnp: PnP ACPI: found 12 devices
[    0.294933] ACPI: ACPI bus type pnp unregistered
[    0.301385] pci 0000:00:1c.0: PCI bridge to [bus 01]
[    0.301394] pci 0000:00:1c.0:   bridge window [mem 0xf0600000-0xf06fffff]
[    0.301407] pci 0000:00:1c.3: PCI bridge to [bus 02]
[    0.301412] pci 0000:00:1c.3:   bridge window [io  0x2000-0x2fff]
[    0.301422] pci 0000:00:1c.3:   bridge window [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.301431] pci 0000:00:1c.4: PCI bridge to [bus 03]
[    0.301438] pci 0000:00:1c.4:   bridge window [mem 0xf0500000-0xf05fffff]
[    0.301478] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.301480] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.301481] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.301483] pci_bus 0000:00: resource 7 [mem 0xdfa00000-0xfeafffff]
[    0.301485] pci_bus 0000:00: resource 8 [mem 0xfed40000-0xfed44fff]
[    0.301487] pci_bus 0000:01: resource 1 [mem 0xf0600000-0xf06fffff]
[    0.301489] pci_bus 0000:02: resource 0 [io  0x2000-0x2fff]
[    0.301490] pci_bus 0000:02: resource 2 [mem 0xf0400000-0xf04fffff 64bit pref]
[    0.301492] pci_bus 0000:03: resource 1 [mem 0xf0500000-0xf05fffff]
[    0.301525] NET: Registered protocol family 2
[    0.302191] TCP established hash table entries: 524288 (order: 11, 8388608 bytes)
[    0.304040] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.304277] TCP: Hash tables configured (established 524288 bind 65536)
[    0.304319] TCP: reno registered
[    0.304330] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    0.304353] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    0.304436] NET: Registered protocol family 1
[    0.304452] pci 0000:00:02.0: Boot video device
[    0.304633] PCI: CLS 64 bytes, default 64
[    0.304674] Trying to unpack rootfs image as initramfs...
[    0.587990] Freeing initrd memory: 14008k freed
[    0.591166] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    0.591175] software IO TLB [mem 0xd5c99000-0xd9c98fff] (64MB) mapped at [ffff8800d5c99000-ffff8800d9c98fff]
[    0.591616] audit: initializing netlink socket (disabled)
[    0.591636] type=2000 audit(1347146276.476:1): initialized
[    0.620162] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.621575] VFS: Disk quotas dquot_6.5.2
[    0.621616] Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.621938] fuse init (API version 7.20)
[    0.622005] msgmni has been set to 7690
[    0.622348] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.622377] io scheduler noop registered
[    0.622382] io scheduler deadline registered (default)
[    0.622405] io scheduler cfq registered
[    0.622615] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.622634] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    0.622675] intel_idle: MWAIT substates: 0x21120
[    0.622676] intel_idle: v0.4 model 0x2A
[    0.622677] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.623248] ACPI: AC Adapter [ADP1] (on-line)
[    0.623525] input: Lid Switch as /devices/LNXSYSTM:00/device:00/PNP0C0D:00/input/input0
[    0.623862] ACPI: Lid Switch [LID0]
[    0.623902] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1
[    0.623909] ACPI: Power Button [PWRB]
[    0.623943] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
[    0.623948] ACPI: Power Button [PWRF]
[    0.624003] ACPI: Fan [FAN0] (off)
[    0.624033] ACPI: Fan [FAN1] (off)
[    0.624058] ACPI: Fan [FAN2] (off)
[    0.624083] ACPI: Fan [FAN3] (off)
[    0.624108] ACPI: Fan [FAN4] (off)
[    0.624155] ACPI: Requesting acpi_cpufreq
[    0.629999] thermal LNXTHERM:00: registered as thermal_zone0
[    0.630004] ACPI: Thermal Zone [TZ00] (72 C)
[    0.630159] thermal LNXTHERM:01: registered as thermal_zone1
[    0.630162] ACPI: Thermal Zone [TZ01] (30 C)
[    0.630190] GHES: HEST is not enabled!
[    0.630329] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    0.633760] Linux agpgart interface v0.103
[    0.635458] brd: module loaded
[    0.636029] ACPI: Battery Slot [BAT1] (battery present)
[    0.636309] loop: module loaded
[    0.636395] ahci 0000:00:1f.2: version 3.0
[    0.636458] ahci 0000:00:1f.2: irq 40 for MSI/MSI-X
[    0.636497] ahci: SSS flag set, parallel bus scan disabled
[    0.651823] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0x1b impl SATA mode
[    0.651838] ahci 0000:00:1f.2: flags: 64bit ncq sntf ilck stag pm led clo pio slum part ems sxs apst 
[    0.651854] ahci 0000:00:1f.2: setting latency timer to 64
[    0.676178] scsi0 : ahci
[    0.676247] scsi1 : ahci
[    0.676307] scsi2 : ahci
[    0.676363] scsi3 : ahci
[    0.676417] scsi4 : ahci
[    0.676471] scsi5 : ahci
[    0.676504] ata1: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708100 irq 40
[    0.676510] ata2: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708180 irq 40
[    0.676513] ata3: DUMMY
[    0.676517] ata4: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708280 irq 40
[    0.676522] ata5: SATA max UDMA/133 abar m2048@0xf0708000 port 0xf0708300 irq 40
[    0.676525] ata6: DUMMY
[    0.676757] libphy: Fixed MDIO Bus: probed
[    0.676793] tun: Universal TUN/TAP device driver, 1.6
[    0.676795] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
[    0.676835] PPP generic driver version 2.4.2
[    0.676888] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.676925] ehci_hcd 0000:00:1a.0: setting latency timer to 64
[    0.676928] ehci_hcd 0000:00:1a.0: EHCI Host Controller
[    0.676937] ehci_hcd 0000:00:1a.0: new USB bus registered, assigned bus number 1
[    0.680851] ehci_hcd 0000:00:1a.0: debug port 2
[    0.680861] ehci_hcd 0000:00:1a.0: cache line size of 64 is not supported
[    0.680876] ehci_hcd 0000:00:1a.0: irq 16, io mem 0xf070a000
[    0.691766] ehci_hcd 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[    0.691823] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    0.691832] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.691847] usb usb1: Product: EHCI Host Controller
[    0.691850] usb usb1: Manufacturer: Linux 3.6.0-rc4-next20120906-4-iniza-generic ehci_hcd
[    0.691854] usb usb1: SerialNumber: 0000:00:1a.0
[    0.691954] hub 1-0:1.0: USB hub found
[    0.691960] hub 1-0:1.0: 2 ports detected
[    0.692027] ehci_hcd 0000:00:1d.0: setting latency timer to 64
[    0.692030] ehci_hcd 0000:00:1d.0: EHCI Host Controller
[    0.692036] ehci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    0.695946] ehci_hcd 0000:00:1d.0: debug port 2
[    0.695956] ehci_hcd 0000:00:1d.0: cache line size of 64 is not supported
[    0.695969] ehci_hcd 0000:00:1d.0: irq 23, io mem 0xf0709000
[    0.707755] ehci_hcd 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[    0.707800] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    0.707809] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.707819] usb usb2: Product: EHCI Host Controller
[    0.707834] usb usb2: Manufacturer: Linux 3.6.0-rc4-next20120906-4-iniza-generic ehci_hcd
[    0.707838] usb usb2: SerialNumber: 0000:00:1d.0
[    0.707925] hub 2-0:1.0: USB hub found
[    0.707929] hub 2-0:1.0: 2 ports detected
[    0.707976] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.707991] uhci_hcd: USB Universal Host Controller Interface driver
[    0.708032] xhci_hcd 0000:03:00.0: xHCI Host Controller
[    0.708038] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3
[    0.717724] xhci_hcd 0000:03:00.0: irq 16, io mem 0xf0500000
[    0.717792] xhci_hcd 0000:03:00.0: irq 41 for MSI/MSI-X
[    0.717797] xhci_hcd 0000:03:00.0: irq 42 for MSI/MSI-X
[    0.717803] xhci_hcd 0000:03:00.0: irq 43 for MSI/MSI-X
[    0.717807] xhci_hcd 0000:03:00.0: irq 44 for MSI/MSI-X
[    0.717812] xhci_hcd 0000:03:00.0: irq 45 for MSI/MSI-X
[    0.717918] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[    0.717922] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.717926] usb usb3: Product: xHCI Host Controller
[    0.717929] usb usb3: Manufacturer: Linux 3.6.0-rc4-next20120906-4-iniza-generic xhci_hcd
[    0.717932] usb usb3: SerialNumber: 0000:03:00.0
[    0.717992] xHCI xhci_add_endpoint called for root hub
[    0.717994] xHCI xhci_check_bandwidth called for root hub
[    0.718013] hub 3-0:1.0: USB hub found
[    0.718022] hub 3-0:1.0: 2 ports detected
[    0.718072] xhci_hcd 0000:03:00.0: xHCI Host Controller
[    0.718077] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 4
[    0.718114] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003
[    0.718117] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    0.718121] usb usb4: Product: xHCI Host Controller
[    0.718124] usb usb4: Manufacturer: Linux 3.6.0-rc4-next20120906-4-iniza-generic xhci_hcd
[    0.718128] usb usb4: SerialNumber: 0000:03:00.0
[    0.718179] xHCI xhci_add_endpoint called for root hub
[    0.718180] xHCI xhci_check_bandwidth called for root hub
[    0.718200] hub 4-0:1.0: USB hub found
[    0.718208] hub 4-0:1.0: 2 ports detected
[    0.718340] i8042: PNP: PS/2 Controller [PNP0303:PS2K,PNP0f13:EPAD] at 0x60,0x64 irq 1,12
[    0.726266] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.726273] serio: i8042 AUX port at 0x60,0x64 irq 12
[    0.726390] mousedev: PS/2 mouse device common for all mice
[    0.726808] rtc_cmos 00:06: rtc core: registered rtc_cmos as rtc0
[    0.726839] rtc0: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    0.726901] device-mapper: uevent: version 1.0.3
[    0.726957] device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) initialised: dm-devel@redhat.com
[    0.727026] cpuidle: using governor ladder
[    0.727118] cpuidle: using governor menu
[    0.727121] EFI Variables Facility v0.08 2004-May-17
[    0.727287] ashmem: initialized
[    0.727398] TCP: cubic registered
[    0.727484] NET: Registered protocol family 10
[    0.727640] NET: Registered protocol family 17
[    0.727662] Key type dns_resolver registered
[    0.728038] PM: Hibernation image not present or could not be loaded.
[    0.728049] registered taskstats version 1
[    0.730873] Key type trusted registered
[    0.733139] Key type encrypted registered
[    0.734714] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input3
[    0.735570]   Magic number: 12:778:301
[    0.735606] tty tty30: hash matches
[    0.735677] rtc_cmos 00:06: setting system clock to 2012-09-08 23:17:57 UTC (1347146277)
[    0.736399] BIOS EDD facility v0.16 2004-Jun-25, 0 devices found
[    0.736403] EDD information not available.
[    0.995646] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    0.996845] ata1.00: ATA-8: Hitachi HTS545050A7E380, GG2OA6C0, max UDMA/133
[    0.996863] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    0.998101] ata1.00: configured for UDMA/133
[    0.998355] scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTS54505 GG2O PQ: 0 ANSI: 5
[    0.998532] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    0.998536] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    0.998545] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    0.998685] sd 0:0:0:0: [sda] Write Protect is off
[    0.998692] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 10
[    0.998792] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[    1.003581] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    1.008731]  sda: sda1 sda2 sda3
[    1.009561] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.135926] usb 1-1: New USB device found, idVendor=8087, idProduct=0024
[    1.135944] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.136351] hub 1-1:1.0: USB hub found
[    1.136532] hub 1-1:1.0: 6 ports detected
[    1.247466] usb 2-1: new high-speed USB device number 2 using ehci_hcd
[    1.315419] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.316003] ata2.00: ATA-8: SanDisk iSSD P4 16GB, SSD 9.14, max UDMA/133
[    1.316019] ata2.00: 31277232 sectors, multi 1: LBA48 
[    1.316687] ata2.00: configured for UDMA/133
[    1.316910] scsi 1:0:0:0: Direct-Access     ATA      SanDisk iSSD P4  SSD  PQ: 0 ANSI: 5
[    1.317077] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    1.317081] sd 1:0:0:0: [sdb] 31277232 512-byte logical blocks: (16.0 GB/14.9 GiB)
[    1.317326] sd 1:0:0:0: [sdb] Write Protect is off
[    1.317333] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 10
[    1.317455] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
[    1.318501]  sdb: sdb1 sdb2
[    1.318982] sd 1:0:0:0: [sdb] Attached SCSI disk
[    1.379750] usb 2-1: New USB device found, idVendor=8087, idProduct=0024
[    1.379768] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    1.380187] hub 2-1:1.0: USB hub found
[    1.380358] hub 2-1:1.0: 6 ports detected
[    1.451457] usb 1-1.2: new low-speed USB device number 3 using ehci_hcd
[    1.549553] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00e
[    1.549571] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.549583] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[    1.549591] usb 1-1.2: Manufacturer: Logitech
[    1.587173] tsc: Refined TSC clocksource calibration: 1596.372 MHz
[    1.587194] Switching to clocksource tsc
[    1.619323] usb 1-1.4: new high-speed USB device number 4 using ehci_hcd
[    1.635169] ata4: SATA link down (SStatus 0 SControl 300)
[    1.871302] usb 1-1.4: New USB device found, idVendor=2232, idProduct=1018
[    1.871320] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.871331] usb 1-1.4: Product: WebCam SC-13HDL11431N
[    1.871339] usb 1-1.4: Manufacturer: 123
[    1.954955] ata5: SATA link down (SStatus 0 SControl 300)
[    1.956884] Freeing unused kernel memory: 924k freed
[    1.957029] Write protecting the kernel read-only data: 12288k
[    1.962102] Freeing unused kernel memory: 1764k freed
[    1.965692] Freeing unused kernel memory: 1232k freed
[    1.982003] udevd[119]: starting version 175
[    2.033272] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.033551] r8169 0000:02:00.0: irq 46 for MSI/MSI-X
[    2.033816] r8169 0000:02:00.0: eth0: RTL8168evl/8111evl at 0xffffc9000066a000, e8:03:9a:36:17:a9, XID 0c900800 IRQ 46
[    2.033826] r8169 0000:02:00.0: eth0: jumbo features [frames: 9200 bytes, tx checksumming: ko]
[    2.037526] usbcore: registered new interface driver usbhid
[    2.037534] usbhid: USB HID core driver
[    2.114941] usb 2-1.5: new full-speed USB device number 3 using ehci_hcd
[    2.210726] usb 2-1.5: New USB device found, idVendor=8086, idProduct=0189
[    2.210744] usb 2-1.5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.981843] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
[    5.455810] udevd[304]: starting version 175
[    5.780841] lp: driver loaded but no devices found
[    6.280059] tty_init_dev: 9 callbacks suppressed
[    6.299078] EXT4-fs (loop0): re-mounted. Opts: errors=remount-ro
[    7.410670] mei 0000:00:16.0: setting latency timer to 64
[    7.410732] mei 0000:00:16.0: irq 47 for MSI/MSI-X
[    7.415979] mei 0000:00:16.0: wd: failed to find the client
[    7.522298] wmi: Mapper loaded
[    7.525013] samsung_laptop: detected SABI interface: SwSmi@
[    7.525016] samsung_laptop: Backlight controlled by ACPI video driver
[    7.583381] ACPI Warning: 0x0000000000000428-0x000000000000042f SystemIO conflicts with Region \PMIO 1 (20120711/utaddress-251)
[    7.583392] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    7.583397] ACPI Warning: 0x0000000000000500-0x000000000000057f SystemIO conflicts with Region \GPIO 1 (20120711/utaddress-251)
[    7.583402] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    7.583404] lpc_ich: Resource conflict(s) found affecting gpio_ich
[    7.776432] cfg80211: Calling CRDA to update world regulatory domain
[    7.776669] Bluetooth: Core ver 2.16
[    7.776687] NET: Registered protocol family 31
[    7.776689] Bluetooth: HCI device and connection manager initialized
[    7.776697] Bluetooth: HCI socket layer initialized
[    7.776701] Bluetooth: L2CAP socket layer initialized
[    7.776708] Bluetooth: SCO socket layer initialized
[    7.806499] microcode: CPU0 sig=0x206a7, pf=0x10, revision=0x28
[    8.074090] usbcore: registered new interface driver btusb
[    8.498933] Intel(R) Wireless WiFi driver for Linux, in-tree:
[    8.498937] Copyright(c) 2003-2012 Intel Corporation
[    8.499073] iwlwifi 0000:01:00.0: pci_resource_len = 0x00002000
[    8.499077] iwlwifi 0000:01:00.0: pci_resource_base = ffffc9000066c000
[    8.499080] iwlwifi 0000:01:00.0: HW Revision ID = 0x34
[    8.499281] iwlwifi 0000:01:00.0: irq 48 for MSI/MSI-X
[    8.530168] microcode: CPU1 sig=0x206a7, pf=0x10, revision=0x28
[    8.531497] microcode: CPU2 sig=0x206a7, pf=0x10, revision=0x28
[    8.532603] microcode: CPU3 sig=0x206a7, pf=0x10, revision=0x28
[    8.533728] microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    8.540088] [drm] Initialized drm 1.1.0 20060810
[    8.763722] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input4
[    8.764660] hid-generic 0003:046D:C00E.0001: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[    9.007500] psmouse serio1: elantech: assuming hardware version 3 (with firmware version 0x450f00)
[    9.021813] iwlwifi 0000:01:00.0: loaded firmware version 18.168.6.1
[    9.024064] psmouse serio1: elantech: Synaptics capabilities query result 0x08, 0x17, 0x0c.
[    9.110176] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/serio1/input/input5
[    9.135338] Linux video capture interface: v2.00
[    9.510536] pci 0000:00:00.0: Intel Sandybridge Chipset
[    9.510623] pci 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[    9.511707] pci 0000:00:00.0: detected 65536K stolen memory
[    9.511757] i915 0000:00:02.0: setting latency timer to 64
[    9.549438] i915 0000:00:02.0: irq 49 for MSI/MSI-X
[    9.549447] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    9.549449] [drm] Driver supports precise vblank timestamp query.
[    9.549495] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    9.699133] uvcvideo: Found UVC 1.00 device WebCam SC-13HDL11431N (2232:1018)
[    9.718431] input: WebCam SC-13HDL11431N as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input6
[    9.718519] usbcore: registered new interface driver uvcvideo
[    9.718521] USB Video Class driver (1.1.1)
[    9.738327] iwldvm: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[    9.738332] iwldvm: Copyright(c) 2003-2012 Intel Corporation
[    9.738356] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUG disabled
[    9.738359] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[    9.738360] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[    9.738362] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_DEVICE_TESTMODE enabled
[    9.738363] iwlwifi 0000:01:00.0: CONFIG_IWLWIFI_P2P disabled
[    9.738366] iwlwifi 0000:01:00.0: Detected Intel(R) Centrino(R) Advanced-N 6230 AGN, REV=0xB0
[    9.738480] iwlwifi 0000:01:00.0: L1 Enabled; Disabling L0S
[    9.753915] iwlwifi 0000:01:00.0: device EEPROM VER=0x716, CALIB=0x6
[    9.753919] iwlwifi 0000:01:00.0: Device SKU: 0x1F0
[    9.753922] iwlwifi 0000:01:00.0: Valid Tx ant: 0x3, Valid Rx ant: 0x3
[    9.754013] Registered led device: phy0-led
[    9.754045] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[    9.837623] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[   10.127869] cfg80211: Ignoring regulatory request Set by core since the driver uses its own custom regulatory domain
[   10.127873] cfg80211: World regulatory domain updated:
[   10.127874] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[   10.127876] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   10.127878] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[   10.127879] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[   10.127880] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   10.127881] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   10.174167] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[   10.332616] type=1400 audit(1347146287.100:2): apparmor="STATUS" operation="profile_load" name="/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper" pid=562 comm="apparmor_parser"
[   10.369300] fbcon: inteldrmfb (fb0) is primary device
[   10.385364] type=1400 audit(1347146287.152:3): apparmor="STATUS" operation="profile_load" name="/sbin/dhclient" pid=563 comm="apparmor_parser"
[   10.385996] type=1400 audit(1347146287.152:4): apparmor="STATUS" operation="profile_load" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=563 comm="apparmor_parser"
[   10.386217] type=1400 audit(1347146287.152:5): apparmor="STATUS" operation="profile_load" name="/usr/lib/connman/scripts/dhclient-script" pid=563 comm="apparmor_parser"
[   10.422119] type=1400 audit(1347146287.192:6): apparmor="STATUS" operation="profile_load" name="/usr/lib/telepathy/mission-control-5" pid=619 comm="apparmor_parser"
[   10.422710] type=1400 audit(1347146287.192:7): apparmor="STATUS" operation="profile_load" name="/usr/lib/telepathy/telepathy-*" pid=619 comm="apparmor_parser"
[   10.453404] type=1400 audit(1347146287.224:8): apparmor="STATUS" operation="profile_load" name="/usr/sbin/tcpdump" pid=658 comm="apparmor_parser"
[   10.453412] type=1400 audit(1347146287.224:9): apparmor="STATUS" operation="profile_load" name="/usr/lib/cups/backend/cups-pdf" pid=654 comm="apparmor_parser"
[   10.454026] type=1400 audit(1347146287.224:10): apparmor="STATUS" operation="profile_load" name="/usr/sbin/cupsd" pid=654 comm="apparmor_parser"
[   10.544873] Console: switching to colour frame buffer device 170x48
[   10.547529] fb0: inteldrmfb frame buffer device
[   10.547530] drm: registered panic notifier
[   10.557653] acpi device:33: registered as cooling_device9
[   10.557805] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[   10.557852] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input7
[   10.558026] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[   10.558161] snd_hda_intel 0000:00:1b.0: irq 50 for MSI/MSI-X
[   10.866305] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[   10.866429] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[   10.866526] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[   10.914952] type=1400 audit(1347146287.684:11): apparmor="STATUS" operation="profile_load" name="/usr/bin/evince" pid=564 comm="apparmor_parser"
[   12.771121] Adding 262140k swap on /host/ubuntu/disks/swap.disk.  Priority:0 extents:1 across:262140k 
[   12.771450] tty_init_dev: 26 callbacks suppressed
[   16.423150] iwlwifi 0000:01:00.0: L1 Enabled; Disabling L0S
[   16.429848] iwlwifi 0000:01:00.0: Radio type=0x1-0x2-0x0
[   16.723691] iwlwifi 0000:01:00.0: L1 Enabled; Disabling L0S
[   16.730334] iwlwifi 0000:01:00.0: Radio type=0x1-0x2-0x0
[   16.840621] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   17.301959] cfg80211: Found new beacon on frequency: 2467 MHz (Ch 12) on phy0
[   23.371306] wlan0: authenticate with 00:04:0e:e4:00:3d
[   23.380516] wlan0: send auth to 00:04:0e:e4:00:3d (try 1/3)
[   23.382212] wlan0: authenticated
[   23.382325] iwlwifi 0000:01:00.0: wlan0: disabling HT as WMM/QoS is not supported by the AP
[   23.382329] iwlwifi 0000:01:00.0: wlan0: disabling VHT as WMM/QoS is not supported by the AP
[   23.383712] wlan0: associate with 00:04:0e:e4:00:3d (try 1/3)
[   23.387284] wlan0: RX AssocResp from 00:04:0e:e4:00:3d (capab=0x411 status=0 aid=2)
[   23.391227] wlan0: associated
[   23.391703] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   47.257105] usb 2-1.5: USB disconnect, device number 3
[   51.863613] audit_printk_skb: 21 callbacks suppressed
[   51.863616] type=1400 audit(1347139128.192:19): apparmor="DENIED" operation="open" parent=1 profile="/usr/lib/telepathy/mission-control-5" name="/run/user/wearefam/dconf/user" pid=1696 comm="mission-control" requested_mask="rwc" denied_mask="rwc" fsuid=1000 ouid=1000
[   58.489682] tty_init_dev: 44 callbacks suppressed

[-- Attachment #3: 3.6.0-rc4-next20120906-4-iniza-generic.patch --]
[-- Type: application/octet-stream, Size: 2696 bytes --]

Christoph Lameter (1):
      slub: Zero initial memory segment for kmem_cache and kmem_cache_node

Sedat Dilek (6):
      kbuild, deb-pkg: Try to determine distribution
      kbuild, deb-pkg: Bump year in debian/copyright file
      kbuild, deb-pkg: Update git repository URL in debian/copyright file
      Merge tag 'next-20120906' of git://git.kernel.org/.../next/linux-next into Linux-Next-v20120906
      Merge branch 'deb-pkg-fixes' into 3.6.0-rc4-next20120906-4-iniza-generic
      Merge branch 'slab-next-fixes' into 3.6.0-rc4-next20120906-4-iniza-generic

 mm/slub.c                |    2 +-
 scripts/package/builddeb |   19 ++++++++++++++++---
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index dafd465..e5d9357 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3707,7 +3707,7 @@ void __init kmem_cache_init(void)
 	/* Allocate two kmem_caches from the page allocator */
 	kmalloc_size = ALIGN(kmem_size, cache_line_size());
 	order = get_order(2 * kmalloc_size);
-	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
+	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);
 
 	/*
 	 * Must first have the slab cache available for the allocations of the
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index acb8650..586e748 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -172,9 +172,22 @@ else
 fi
 maintainer="$name <$email>"
 
+# Try to determine distribution
+if [ -e $(which lsb_release) ]; then
+       codename=$(lsb_release --codename --short)
+       if [ "$codename" != "" ]; then
+		distribution=$codename
+       else
+		distribution="UNRELEASED"
+		echo "WARNING: The distribution could NOT be determined!"
+       fi
+else
+       echo "HINT: Install lsb_release binary, this helps to identify your distribution!"
+fi
+
 # Generate a simple changelog template
 cat <<EOF > debian/changelog
-linux-upstream ($packageversion) unstable; urgency=low
+linux-upstream ($packageversion) $distribution; urgency=low
 
   * Custom built Linux kernel.
 
@@ -188,10 +201,10 @@ This is a packacked upstream version of the Linux kernel.
 The sources may be found at most Linux ftp sites, including:
 ftp://ftp.kernel.org/pub/linux/kernel
 
-Copyright: 1991 - 2009 Linus Torvalds and others.
+Copyright: 1991 - 2012 Linus Torvalds and others.
 
 The git repository for mainline kernel development is at:
-git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
+git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-08 21:34     ` Sedat Dilek
@ 2012-09-08 22:27       ` Christoph Lameter
  2012-09-09  6:44         ` Sedat Dilek
  0 siblings, 1 reply; 19+ messages in thread
From: Christoph Lameter @ 2012-09-08 22:27 UTC (permalink / raw)
  To: Sedat Dilek; +Cc: Stephen Rothwell, Tony Luck, linux-next, Pekka Enberg

On Sat, 8 Sep 2012, Sedat Dilek wrote:

> I have reported the breakage of Linux-Next (next-20120906)
> independently on AMD64 [1], but seem to be ignored in this thread.

Not on AMD64, so I did not see anything until Tony's post.

> Dis you test SLAB-only?
> Can you please test next time also with a SLUB config?

Tested all 3 allocators here before the release and I did not notice
anything wrong. AFAICT multiple other testers also saw no problem.

> The next day you removed "slab/common-for-cgroups" from slab/next, why?

I do not handle that tree.

> You knew that it was broken (before Tony reported IA64 boot problems)?
> On linux-mm/linux-next/LKML MLs I have not read any hints/reports
> before the one of Tony.

Tony's report was the first report that I got on this issue. There were 2
others issues for which I also submitted patches this week.

> Can you please inform people in time?

I usually post too early rather than too late. There was no delay on this
one either. Emails reflected my real time knowledge and fixes available.

> I know linux-next is highly experimental, but I use all my
> daily-builds on my system here.
> Not virtual machine - on real bare metal!

That is quite good. Thanks for your efforts.

> Feel free to add as it fixes the reported issue:
>
>      Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
>      Tested-by: Sedat Dilek <sedat.dilek@gmail.com>

Thanks for testing. My daughter has been in the ICU since Thursday and I
had to guess that this was the right solution based on what I was able
to glean on from experiences of others with the issue. Never was able to
truly test the fix or even do a kernel build while the crisis was going
on here. She just was moved out of the ICU an hour ago so I will be
able to do more next week.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-08 22:27       ` Christoph Lameter
@ 2012-09-09  6:44         ` Sedat Dilek
  0 siblings, 0 replies; 19+ messages in thread
From: Sedat Dilek @ 2012-09-09  6:44 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Stephen Rothwell, Tony Luck, linux-next, Pekka Enberg

On Sun, Sep 9, 2012 at 12:27 AM, Christoph Lameter <cl@linux.com> wrote:
> On Sat, 8 Sep 2012, Sedat Dilek wrote:
>
>> I have reported the breakage of Linux-Next (next-20120906)
>> independently on AMD64 [1], but seem to be ignored in this thread.
>
> Not on AMD64, so I did not see anything until Tony's post.
>
>> Dis you test SLAB-only?
>> Can you please test next time also with a SLUB config?
>
> Tested all 3 allocators here before the release and I did not notice
> anything wrong. AFAICT multiple other testers also saw no problem.
>
>> The next day you removed "slab/common-for-cgroups" from slab/next, why?
>
> I do not handle that tree.
>
>> You knew that it was broken (before Tony reported IA64 boot problems)?
>> On linux-mm/linux-next/LKML MLs I have not read any hints/reports
>> before the one of Tony.
>
> Tony's report was the first report that I got on this issue. There were 2
> others issues for which I also submitted patches this week.
>
>> Can you please inform people in time?
>
> I usually post too early rather than too late. There was no delay on this
> one either. Emails reflected my real time knowledge and fixes available.
>
>> I know linux-next is highly experimental, but I use all my
>> daily-builds on my system here.
>> Not virtual machine - on real bare metal!
>
> That is quite good. Thanks for your efforts.
>
>> Feel free to add as it fixes the reported issue:
>>
>>      Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
>>      Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
>
> Thanks for testing. My daughter has been in the ICU since Thursday and I
> had to guess that this was the right solution based on what I was able
> to glean on from experiences of others with the issue. Never was able to
> truly test the fix or even do a kernel build while the crisis was going
> on here. She just was moved out of the ICU an hour ago so I will be
> able to do more next week.

OK, I had to look up what ICU means... Intensive Care Unit.
Forget everything what I wrote... Health comes first.
My father is a case for nursing care... As we as a family insists on
home care, the ~22.5hrs of a day the "male nurse" is me.

- Sedat -

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-08 18:27   ` Christoph Lameter
  2012-09-08 21:34     ` Sedat Dilek
@ 2012-09-10  3:24     ` Stephen Rothwell
  2012-09-10  6:59       ` Pekka Enberg
  2012-09-10 17:52     ` Luck, Tony
  2 siblings, 1 reply; 19+ messages in thread
From: Stephen Rothwell @ 2012-09-10  3:24 UTC (permalink / raw)
  To: Christoph Lameter; +Cc: Tony Luck, linux-next, Pekka Enberg, Sedat Dilek

[-- Attachment #1: Type: text/plain, Size: 1713 bytes --]

Hi Christoph,

On Sat, 8 Sep 2012 18:27:10 +0000 Christoph Lameter <cl@linux.com> wrote:
>
> Thanks Tony for the additional information regarding the pointer. That got
> me thinking about something different.
> 
> Try the following fix:
> 
> Subject: slub: Zero initial memory segment for kmem_cache and kmem_cache_node
> 
> Earlier patches in the common set moved the zeroing of the kmem_cache structure
> into common code. See "Move allocation of kmem_cache into common code".
> 
> The allocation for the two special structures is still done
> from slub specific code but no zeroing is done since the cache creation functions
> used to zero. This now needs to be updated so that the structures
> are zeroed during allocation in kmem_cache_init().
> Otherwise random pointer values may be followed.
> 
> Signed-off-by: Christoph Lameter <cl@linux.com>
> 
> Index: linux/mm/slub.c
> ===================================================================
> --- linux.orig/mm/slub.c	2012-09-08 13:21:33.523056357 -0500
> +++ linux/mm/slub.c	2012-09-08 13:22:12.483056947 -0500
> @@ -3705,7 +3705,7 @@
>  	/* Allocate two kmem_caches from the page allocator */
>  	kmalloc_size = ALIGN(kmem_size, cache_line_size());
>  	order = get_order(2 * kmalloc_size);
> -	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
> +	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);
> 
>  	/*
>  	 * Must first have the slab cache available for the allocations of the
> 

I have added this as a merge fix patch to linux-next today in the
anticipation that it will be added to the slab tree ASAP.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-10  3:24     ` Stephen Rothwell
@ 2012-09-10  6:59       ` Pekka Enberg
  2012-09-10  8:28         ` Sedat Dilek
  0 siblings, 1 reply; 19+ messages in thread
From: Pekka Enberg @ 2012-09-10  6:59 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Christoph Lameter, Tony Luck, linux-next, Sedat Dilek, Hugh Dickins

On Mon, 10 Sep 2012, Stephen Rothwell wrote:

> Hi Christoph,
> 
> On Sat, 8 Sep 2012 18:27:10 +0000 Christoph Lameter <cl@linux.com> wrote:
> >
> > Thanks Tony for the additional information regarding the pointer. That got
> > me thinking about something different.
> > 
> > Try the following fix:
> > 
> > Subject: slub: Zero initial memory segment for kmem_cache and kmem_cache_node
> > 
> > Earlier patches in the common set moved the zeroing of the kmem_cache structure
> > into common code. See "Move allocation of kmem_cache into common code".
> > 
> > The allocation for the two special structures is still done
> > from slub specific code but no zeroing is done since the cache creation functions
> > used to zero. This now needs to be updated so that the structures
> > are zeroed during allocation in kmem_cache_init().
> > Otherwise random pointer values may be followed.
> > 
> > Signed-off-by: Christoph Lameter <cl@linux.com>
> > 
> > Index: linux/mm/slub.c
> > ===================================================================
> > --- linux.orig/mm/slub.c	2012-09-08 13:21:33.523056357 -0500
> > +++ linux/mm/slub.c	2012-09-08 13:22:12.483056947 -0500
> > @@ -3705,7 +3705,7 @@
> >  	/* Allocate two kmem_caches from the page allocator */
> >  	kmalloc_size = ALIGN(kmem_size, cache_line_size());
> >  	order = get_order(2 * kmalloc_size);
> > -	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
> > +	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);
> > 
> >  	/*
> >  	 * Must first have the slab cache available for the allocations of the
> > 
> 
> I have added this as a merge fix patch to linux-next today in the
> anticipation that it will be added to the slab tree ASAP.

I've applied the patch. Thanks everyone!

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: ia64 dies in slab code on next-20120906
  2012-09-10  6:59       ` Pekka Enberg
@ 2012-09-10  8:28         ` Sedat Dilek
  0 siblings, 0 replies; 19+ messages in thread
From: Sedat Dilek @ 2012-09-10  8:28 UTC (permalink / raw)
  To: Pekka Enberg
  Cc: Stephen Rothwell, Christoph Lameter, Tony Luck, linux-next, Hugh Dickins

On Mon, Sep 10, 2012 at 8:59 AM, Pekka Enberg <penberg@kernel.org> wrote:
> On Mon, 10 Sep 2012, Stephen Rothwell wrote:
>
>> Hi Christoph,
>>
>> On Sat, 8 Sep 2012 18:27:10 +0000 Christoph Lameter <cl@linux.com> wrote:
>> >
>> > Thanks Tony for the additional information regarding the pointer. That got
>> > me thinking about something different.
>> >
>> > Try the following fix:
>> >
>> > Subject: slub: Zero initial memory segment for kmem_cache and kmem_cache_node
>> >
>> > Earlier patches in the common set moved the zeroing of the kmem_cache structure
>> > into common code. See "Move allocation of kmem_cache into common code".
>> >
>> > The allocation for the two special structures is still done
>> > from slub specific code but no zeroing is done since the cache creation functions
>> > used to zero. This now needs to be updated so that the structures
>> > are zeroed during allocation in kmem_cache_init().
>> > Otherwise random pointer values may be followed.
>> >
>> > Signed-off-by: Christoph Lameter <cl@linux.com>
>> >
>> > Index: linux/mm/slub.c
>> > ===================================================================
>> > --- linux.orig/mm/slub.c    2012-09-08 13:21:33.523056357 -0500
>> > +++ linux/mm/slub.c 2012-09-08 13:22:12.483056947 -0500
>> > @@ -3705,7 +3705,7 @@
>> >     /* Allocate two kmem_caches from the page allocator */
>> >     kmalloc_size = ALIGN(kmem_size, cache_line_size());
>> >     order = get_order(2 * kmalloc_size);
>> > -   kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
>> > +   kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);
>> >
>> >     /*
>> >      * Must first have the slab cache available for the allocations of the
>> >
>>
>> I have added this as a merge fix patch to linux-next today in the
>> anticipation that it will be added to the slab tree ASAP.
>
> I've applied the patch. Thanks everyone!

Hi Pekka,

Thanks for pushing this.
So, I guess you will integrate "slab/common-for-cgroups" in
tommorrow's "slab/next".

I have pulled yesterday "slab/common-for-cgroups" into Linux-Next
(next-20120907) plus fix from Christoph to see if this works OK.
The double Tested-by is OK (one is enough :-)).

Yesterday, as being on systemd (which depends on cgroups) I took the
iniative to hack a bit with its further integration in Ubuntu/precise
[1].
As usually, try to see the positives happening :-)!

Regards,
- Sedat -

[1] https://wiki.ubuntu.com/systemd#Workarounds

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: ia64 dies in slab code on next-20120906
  2012-09-08 18:27   ` Christoph Lameter
  2012-09-08 21:34     ` Sedat Dilek
  2012-09-10  3:24     ` Stephen Rothwell
@ 2012-09-10 17:52     ` Luck, Tony
  2 siblings, 0 replies; 19+ messages in thread
From: Luck, Tony @ 2012-09-10 17:52 UTC (permalink / raw)
  To: Christoph Lameter, Stephen Rothwell; +Cc: linux-next, Pekka Enberg

-	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT, order);
+	kmem_cache = (void *)__get_free_pages(GFP_NOWAIT|__GFP_ZERO, order);

This patch is in next-20120910 ... which boots just fine on ia64. Thanks.

> Thanks for testing. My daughter has been in the ICU since Thursday and I
> had to guess that this was the right solution based on what I was able
> to glean on from experiences of others with the issue. Never was able to
> truly test the fix or even do a kernel build while the crisis was going
> on here. She just was moved out of the ICU an hour ago so I will be
> able to do more next week.

If only medical science worked like computer science. A couple of people
around the world see some symptoms and do some superficial diagnosis
and within hours you have a one line patch to make it all better.

Best wishes for a speedy recovery for your daughter.

-Tony

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-09-10 17:52 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-06 18:39 ia64 dies in slab code on next-20120906 Tony Luck
2012-09-06 19:39 ` Sedat Dilek
2012-09-06 20:13   ` Sedat Dilek
2012-09-06 20:13 ` Christoph Lameter
2012-09-06 20:26   ` Luck, Tony
2012-09-06 20:33     ` Christoph Lameter
2012-09-06 20:45       ` Sedat Dilek
2012-09-06 21:00         ` Sedat Dilek
2012-09-07  8:13           ` Sedat Dilek
2012-09-06 23:41       ` Luck, Tony
2012-09-07  1:26 ` Stephen Rothwell
2012-09-08 18:27   ` Christoph Lameter
2012-09-08 21:34     ` Sedat Dilek
2012-09-08 22:27       ` Christoph Lameter
2012-09-09  6:44         ` Sedat Dilek
2012-09-10  3:24     ` Stephen Rothwell
2012-09-10  6:59       ` Pekka Enberg
2012-09-10  8:28         ` Sedat Dilek
2012-09-10 17:52     ` Luck, Tony

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).