<div dir="ltr"><span style="color:rgb(0,0,0);font-size:12.8px">At my company we use mmap() exclusively for accessing our data on Lustre.  For starters we are seeing some very weird (or maybe expected) poor random read/write performance for these types of access patterns.  I decided to give Lustre 2.10.0 a try with ZFS 0.7.0 as the backend instead of ldisk and after compiling and building the RPMs, the filesystem mounted up just fine.  I then started doing some iozone runs to test the stability of the filesystem and although izone does complete uts benchmark I am seeing a lot of stack traces coming out of various kernel threads.  Note I am only seeing this when using mmap().  We also ran our application as well just to verify.  I am also going to try with an ldiskfs format as well to see if this changes anything. </span><div style="color:rgb(0,0,0);font-size:12.8px"><div><br></div><div>My ZFS settings are modest, with 50% of memory allocated to the ARC:</div><div><br></div><div>options zfs zfs_arc_max=3921674240 zfs_prefetch_disable=1<br></div><div>recordsize=1M</div><div>compression=on</div><div>dedupe=off</div><div>xattr=sa</div><div>dnodesize=auto</div><div><br></div><div><br></div><div>Below is the output from the stack trace:</div><div><br></div><div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: BUG: Bad page state: 87 messages suppressed</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: BUG: Bad page state in process socknal_sd00_01  pfn:1cbac1</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: page:ffffea00072eb040 count:0 mapcount:-1 mapping:          (null) index:0x0</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: page flags: 0x2fffff00008000(tail)</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: page dumped because: nonzero mapcount</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: Modules linked in: 8021q garp mrp stp llc osp(OE) ofd(OE) lfsck(OE) ost(OE) mgc(OE) osd_zfs(OE) lquota(OE) fid(OE) fld(OE) ksocklnd(OE) ptlrpc(OE) obdclass(OE) lnet(OE) libcfs(OE) iosf_mbi crc32_pclmul ghash_clmulni_intel aesni_intel lrw gf128mul glue_helper ablk_helper cryptd ppdev sg i2c_piix4 parport_pc i2c_core parport pcspkr nfsd nfs_acl lockd grace binfmt_misc auth_rpcgss sunrpc ip_tables xfs libcrc32c zfs(POE) zunicode(POE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) zlib_deflate sd_mod crc_t10dif crct10dif_generic virtio_net virtio_scsi crct10dif_pclmul crct10dif_common crc32c_intel serio_raw virtio_pci virtio_ring virtio</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: CPU: 0 PID: 2558 Comm: socknal_sd00_01 Tainted: P    B      OE  ------------   3.10.0-514.26.2.el7.x86_64 #1</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: ffffea00072eb040 00000000005e265e ffff8800b879f5a8 ffffffff81687133</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: ffff8800b879f5d0 ffffffff81682368 ffffea00072eb040 0000000000000000</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: 000fffff00000000 ffff8800b879f618 ffffffff8118946d fff00000fe000000</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: Call Trace:</div><div>Aug  8 09:38:04 dev-gc01-oss001 kernel: [&lt;ffffffff81687133&gt;] dump_stack+0x19/0x1b</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81682368&gt;] bad_page.part.75+0xdf/0xfc</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8118946d&gt;] free_pages_prepare+0x16d/0x190</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff811897b9&gt;] __free_pages_ok+0x19/0xd0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8118988b&gt;] free_compound_page+0x1b/0x20</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81683526&gt;] __put_compound_page+0x1f/0x22</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81683698&gt;] put_compound_page+0x16f/0x17d</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8118edfc&gt;] put_page+0x4c/0x60</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8155ec1f&gt;] skb_release_data+0x8f/0x140</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8155ecf4&gt;] skb_release_all+0x24/0x30</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8155f1ec&gt;] consume_skb+0x2c/0x80</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8156f06d&gt;] __dev_kfree_skb_any+0x3d/0x50</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa0019afb&gt;] free_old_xmit_skbs.isra.32+0x6<wbr>b/0xc0 [virtio_net]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa0019baf&gt;] start_xmit+0x5f/0x4f0 [virtio_net]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8156f9a1&gt;] dev_hard_start_xmit+0x171/0x3b<wbr>0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81597574&gt;] sch_direct_xmit+0x104/0x200</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8157252c&gt;] __dev_queue_xmit+0x23c/0x570</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81572870&gt;] dev_queue_xmit+0x10/0x20</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815b6876&gt;] ip_finish_output+0x466/0x750</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815b7873&gt;] ip_output+0x73/0xe0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815b5531&gt;] ip_local_out_sk+0x31/0x40</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815b58a3&gt;] ip_queue_xmit+0x143/0x3a0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815cf04f&gt;] tcp_transmit_skb+0x4af/0x990</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815cf68a&gt;] tcp_write_xmit+0x15a/0xce0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815d048e&gt;] __tcp_push_pending_frames+0x2e<wbr>/0xc0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815bed2c&gt;] tcp_push+0xec/0x120</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815c25b8&gt;] tcp_sendmsg+0xc8/0xc40</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff815ed854&gt;] inet_sendmsg+0x64/0xb0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81555ff0&gt;] sock_sendmsg+0xb0/0xf0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff8168ea3b&gt;] ? _raw_spin_unlock_bh+0x1b/0x40</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81556067&gt;] kernel_sendmsg+0x37/0x50</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa09f40d9&gt;] ksocknal_lib_send_iov+0xd9/0x1<wbr>40 [ksocklnd]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa09ed32f&gt;] ksocknal_process_transmit+0x2a<wbr>f/0xb90 [ksocklnd]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa09f1b84&gt;] ksocknal_scheduler+0x204/0x670 [ksocklnd]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff810b1b20&gt;] ? wake_up_atomic_t+0x30/0x30</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffffa09f1980&gt;] ? ksocknal_recv+0x2a0/0x2a0 [ksocklnd]</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff810b0a4f&gt;] kthread+0xcf/0xe0</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff810b0980&gt;] ? kthread_create_on_node+0x140/0<wbr>x140</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff81697758&gt;] ret_from_fork+0x58/0x90</div><div>Aug  8 09:38:05 dev-gc01-oss001 kernel: [&lt;ffffffff810b0980&gt;] ? kthread_create_on_node+0x140/0<wbr>x140</div></div></div><div style="color:rgb(0,0,0);font-size:12.8px"><br></div><div style="color:rgb(0,0,0);font-size:12.8px">-Chris</div></div>