Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large kmem_alloc BUG #3057

Closed
AeonJJohnson opened this issue Jan 29, 2015 · 2 comments
Closed

Large kmem_alloc BUG #3057

AeonJJohnson opened this issue Jan 29, 2015 · 2 comments
Labels
Component: Memory Management kernel memory management
Milestone

Comments

@AeonJJohnson
Copy link

Getting these when loading spl/zfs kernel modules on linux-3.18.4. Using Brian Behlendorf's largeblock branch (0.6.3-183_gdd078c8).

SPL: Loaded module v0.6.3-68_g9099312
zunicode: module license 'CDDL' taints kernel.
Disabling lock debugging due to kernel taint
ZFS: Loaded module v0.6.3-183_gdd078c8, ZFS pool version 5000, ZFS filesystem version 5
SPL: using hostid 0x00000000
Large kmem_alloc(39864, 0x0), please file an issue at:
https://github.com/zfsonlinux/zfs/issues/new
CPU: 5 PID: 70837 Comm: zpool Tainted: P OE 3.18.4 #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.02.04.0003.102320141138 10/23/2014
0000000000000000 ffff880feb8dbcd8 ffffffff8159f058 0000000000000002
00000000000042d0 ffff880feb8dbd08 ffffffffa04e2071 ffff880fadbfb9c0
0000000000009bb8 ffff880feb8dbde0 ffff880feb8dbd80 ffff880feb8dbd18
Call Trace:
[] dump_stack+0x49/0x61
[] spl_kmem_alloc+0x141/0x1d0 [spl]
[] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]
[] nv_mem_zalloc+0x23/0x50 [znvpair]
[] nvlist_xpack+0xb9/0x110 [znvpair]
[] nvlist_pack+0x1a/0x40 [znvpair]
[] fnvlist_pack+0x3b/0x90 [znvpair]
[] put_nvlist+0x46/0xb0 [zfs]
[] zfs_ioc_pool_tryimport+0x6a/0x90 [zfs]
[] zfsdev_ioctl+0x44e/0x480 [zfs]
[] ? pick_next_task_fair+0x15b/0x210
[] do_vfs_ioctl+0x73/0x380
[] SyS_ioctl+0xa1/0xb0
[] ? __audit_syscall_entry+0xac/0x110
[] system_call_fastpath+0x12/0x17
Large kmem_alloc(39964, 0x0), please file an issue at:
https://github.com/zfsonlinux/zfs/issues/new
CPU: 5 PID: 70837 Comm: zpool Tainted: P OE 3.18.4 #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.02.04.0003.102320141138 10/23/2014
0000000000000000 ffff880feb8dbdb8 ffffffff8159f058 0000000000000000
00000000000042d0 ffff880feb8dbde8 ffffffffa04e2071 0000000000009c1c
0000000000000060 0000000001a3d470 0000000000000000 ffff880feb8dbe48
Call Trace:
[] dump_stack+0x49/0x61
[] spl_kmem_alloc+0x141/0x1d0 [spl]
[] get_nvlist+0x6e/0xd0 [zfs]
[] zfs_ioc_pool_import+0x39/0x120 [zfs]
[] zfsdev_ioctl+0x44e/0x480 [zfs]
[] do_vfs_ioctl+0x73/0x380
[] SyS_ioctl+0xa1/0xb0
[] ? __audit_syscall_entry+0xac/0x110
[] system_call_fastpath+0x12/0x17
Large kmem_alloc(40100, 0x0), please file an issue at:
https://github.com/zfsonlinux/zfs/issues/new
CPU: 2 PID: 70837 Comm: zpool Tainted: P OE 3.18.4 #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.02.04.0003.102320141138 10/23/2014
0000000000000000 ffff880feb8dbcd8 ffffffff8159f058 0000000000000002
00000000000042d0 ffff880feb8dbd08 ffffffffa04e2071 ffff880fadbfb9c0
0000000000009ca4 ffff880feb8dbde0 ffff880feb8dbd80 ffff880feb8dbd18
Call Trace:
[] dump_stack+0x49/0x61
[] spl_kmem_alloc+0x141/0x1d0 [spl]
[] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]
[] nv_mem_zalloc+0x23/0x50 [znvpair]
[] nvlist_xpack+0xb9/0x110 [znvpair]
[] nvlist_pack+0x1a/0x40 [znvpair]
[] fnvlist_pack+0x3b/0x90 [znvpair]
[] put_nvlist+0x46/0xb0 [zfs]
[] zfs_ioc_pool_import+0xfc/0x120 [zfs]
[] zfsdev_ioctl+0x44e/0x480 [zfs]
[] do_vfs_ioctl+0x73/0x380
[] SyS_ioctl+0xa1/0xb0
[] ? __audit_syscall_entry+0xac/0x110
[] system_call_fastpath+0x12/0x17
Large kmem_alloc(39828, 0x0), please file an issue at:
https://github.com/zfsonlinux/zfs/issues/new
CPU: 2 PID: 70837 Comm: zpool Tainted: P OE 3.18.4 #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.02.04.0003.102320141138 10/23/2014
0000000000000000 ffff880feb8dbcd8 ffffffff8159f058 0000000000000002
00000000000042d0 ffff880feb8dbd08 ffffffffa04e2071 ffff880fac75fda0
0000000000009b94 ffff880feb8dbde0 ffff880feb8dbd80 ffff880feb8dbd18
Call Trace:
[] dump_stack+0x49/0x61
[] spl_kmem_alloc+0x141/0x1d0 [spl]
[] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]
[] nv_mem_zalloc+0x23/0x50 [znvpair]
[] nvlist_xpack+0xb9/0x110 [znvpair]
[] nvlist_pack+0x1a/0x40 [znvpair]
[] fnvlist_pack+0x3b/0x90 [znvpair]
[] ? put_nvlist+0x3a/0xb0 [zfs]
[] put_nvlist+0x46/0xb0 [zfs]
[] zfs_ioc_pool_stats+0x4b/0x70 [zfs]
[] zfsdev_ioctl+0x44e/0x480 [zfs]
[] do_vfs_ioctl+0x73/0x380
[] SyS_ioctl+0xa1/0xb0
[] ? __audit_syscall_entry+0xac/0x110
[] system_call_fastpath+0x12/0x17
Large kmem_alloc(39828, 0x0), please file an issue at:
https://github.com/zfsonlinux/zfs/issues/new
CPU: 2 PID: 70837 Comm: zpool Tainted: P OE 3.18.4 #1
Hardware name: Intel Corporation S2600CP/S2600CP, BIOS SE5C600.86B.02.04.0003.102320141138 10/23/2014
0000000000000000 ffff880feb8dbcd8 ffffffff8159f058 0000000000000002
00000000000042d0 ffff880feb8dbd08 ffffffffa04e2071 ffff880fac75fda0
0000000000009b94 ffff880feb8dbde0 ffff880feb8dbd80 ffff880feb8dbd18
Call Trace:
[] dump_stack+0x49/0x61
[] spl_kmem_alloc+0x141/0x1d0 [spl]
[] nv_alloc_sleep_spl+0x1f/0x30 [znvpair]
[] nv_mem_zalloc+0x23/0x50 [znvpair]
[] nvlist_xpack+0xb9/0x110 [znvpair]
[] nvlist_pack+0x1a/0x40 [znvpair]
[] fnvlist_pack+0x3b/0x90 [znvpair]
[] put_nvlist+0x46/0xb0 [zfs]
[] zfs_ioc_pool_stats+0x4b/0x70 [zfs]
[] zfsdev_ioctl+0x44e/0x480 [zfs]
[] do_vfs_ioctl+0x73/0x380
[] SyS_ioctl+0xa1/0xb0
[] ? __audit_syscall_entry+0xac/0x110
[] system_call_fastpath+0x12/0x17

@behlendorf behlendorf added this to the 0.6.4 milestone Jan 29, 2015
@behlendorf
Copy link
Contributor

@AeonJJohnson these are harmless and just advisory, but we'll definitely get them fixed up quickly in master. Thanks for reporting them.

behlendorf added a commit to behlendorf/zfs that referenced this issue Feb 5, 2015
Several of the nvlist functions may perform allocations larger than
the 32k warning threshold.  Convert them to use vmem_alloc() so the
best allocation is used.

Commit efcd79a retired KM_NODEBUG which was used to suppress large
allocation warnings.  Concurrently in the SPL the warning threshold
was increased from 8k to 32k.  The goal was to identify the remaining
locations, such as this one, where the allocation can be larger than
32k.  This was expected fine tuning for the kmem-rework changes, see
commit 6e9710f.

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#3057
behlendorf added a commit to behlendorf/zfs that referenced this issue Feb 5, 2015
Several of the nvlist functions may perform allocations larger than
the 32k warning threshold.  Convert them to use vmem_alloc() so the
best allocation is used.

Commit efcd79a retired KM_NODEBUG which was used to suppress large
allocation warnings.  Concurrently in the SPL the warning threshold
was increased from 8k to 32k.  The goal was to identify the remaining
locations, such as this one, where the allocation can be larger than
32k.  This was expected fine tuning for the kmem-rework changes, see
commit 6e9710f.

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#3057
behlendorf added a commit to behlendorf/zfs that referenced this issue Feb 6, 2015
Several of the nvlist functions may perform allocations larger than
the 32k warning threshold.  Convert them to use vmem_alloc() so the
best allocation is used.

Commit efcd79a retired KM_NODEBUG which was used to suppress large
allocation warnings.  Concurrently in the SPL the warning threshold
was increased from 8k to 32k.  The goal was to identify the remaining
locations, such as this one, where the allocation can be larger than
32k.  This was expected fine tuning for the kmem-rework changes, see
commit 6e9710f.

Signed-off-by: Brian Behlendorf <[email protected]>
Issue openzfs#3057
@behlendorf
Copy link
Contributor

A patch for this has been added in #3076.

DeHackEd pushed a commit to DeHackEd/zfs that referenced this issue Apr 4, 2015
Several of the nvlist functions may perform allocations larger than
the 32k warning threshold.  Convert them to use vmem_alloc() so the
best allocator is used.

Commit efcd79a retired KM_NODEBUG which was used to suppress large
allocation warnings.  Concurrently the large allocation warning threshold
was increased from 8k to 32k.  The goal was to identify the remaining
locations, such as this one, where the allocation can be larger than
32k.  This patch is expected fine tuning resulting for the kmem-rework
changes, see commit 6e9710f.

Signed-off-by: Brian Behlendorf <[email protected]>
Closes openzfs#3057
Closes openzfs#3079
Closes openzfs#3081
DeHackEd pushed a commit to DeHackEd/zfs that referenced this issue Apr 5, 2015
Several of the nvlist functions may perform allocations larger than
the 32k warning threshold.  Convert them to use vmem_alloc() so the
best allocator is used.

Commit efcd79a retired KM_NODEBUG which was used to suppress large
allocation warnings.  Concurrently the large allocation warning threshold
was increased from 8k to 32k.  The goal was to identify the remaining
locations, such as this one, where the allocation can be larger than
32k.  This patch is expected fine tuning resulting for the kmem-rework
changes, see commit 6e9710f.

Signed-off-by: Brian Behlendorf <[email protected]>
Edited-by: DHE <[email protected]>
Closes openzfs#3057
Closes openzfs#3079
Closes openzfs#3081
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Memory Management kernel memory management
Projects
None yet
Development

No branches or pull requests

2 participants