From: Brian Behlendorf Date: Mon, 7 Feb 2011 20:21:29 +0000 (-0800) Subject: Suppress large kmem_alloc() warning X-Git-Url: https://git.camperquake.de/gitweb.cgi?a=commitdiff_plain;ds=inline;h=4db77a74a6a26c57a04f98c4a23b9fda9319ba9f;p=zfs.git Suppress large kmem_alloc() warning The following warning was observed under normal operation. It's not fatal but it's something to be addressed long term. Flag the offending allocation with KM_NODEBUG to suppress the warning and flag the call site. SPL: Showing stack for process 21761 Pid: 21761, comm: iozone Tainted: P ---------------- 2.6.32-71.14.1.el6.x86_64 #1 Call Trace: [] spl_debug_dumpstack+0x27/0x40 [spl] [] kmem_alloc_debug+0x11d/0x130 [spl] [] dmu_buf_hold_array_by_dnode+0xa6/0x4e0 [zfs] [] dmu_buf_hold_array+0x65/0x90 [zfs] [] dmu_read_uio+0x41/0xd0 [zfs] [] zfs_read+0x147/0x470 [zfs] [] zpl_read_common+0x52/0x70 [zfs] [] zpl_read+0x43/0x70 [zfs] [] vfs_read+0xb5/0x1a0 [] sys_read+0x51/0x90 [] system_call_fastpath+0x16/0x1b --- diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c index ede0d05..04b02c7 100644 --- a/module/zfs/dmu.c +++ b/module/zfs/dmu.c @@ -381,7 +381,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length, } nblks = 1; } - dbp = kmem_zalloc(sizeof (dmu_buf_t *) * nblks, KM_SLEEP); + dbp = kmem_zalloc(sizeof (dmu_buf_t *) * nblks, KM_SLEEP | KM_NODEBUG); if (dn->dn_objset->os_dsl_dataset) dp = dn->dn_objset->os_dsl_dataset->ds_dir->dd_pool;