On Tue, May 8, 2018 at 2:47 PM, Luis Henriques <lhenriques@xxxxxxxx> wrote: > Ilya Dryomov <idryomov@xxxxxxxxx> writes: > >> Hi Luis, Jeff, >> >> This is an updated version that fixes the problem with pipe buffers. >> I wasn't able to get "trinity -V /some/dir/in/cephfs -c splice" do it >> for me, but a simple "overflow the pipe" test now passes. >> >> I believe this is ready for merging. Please take a look. > > Ok, I can confirm that I no longer see splice trashing the kernel when > running trinity. However, I'm currently investigating a leak reported > by kmemleak. It takes a while to trigger (same testcase: splice syscall > stress with trinity), but I eventually see something like: > > unreferenced object 0xffff880061a3b9d8 (size 128): > comm "trinity-c0", pid 303, jiffies 4295049336 (age 5361.756s) > hex dump (first 32 bytes): > 89 5a 51 c4 1a 90 82 fa 40 5b 8a 01 00 ea ff ff .ZQ.....@[...... > c0 82 93 01 00 ea ff ff 80 71 94 01 00 ea ff ff .........q...... > backtrace: > [<000000005a0f2bb8>] ceph_read_iter+0xf8e/0x10b0 > [<00000000a8278adb>] generic_file_splice_read+0x21b/0x320 > [<000000004fcba43d>] __se_sys_splice+0x914/0x9a0 > [<00000000276d178b>] do_syscall_64+0xee/0x290 > [<00000000f883973e>] entry_SYSCALL_64_after_hwframe+0x44/0xa9 > [<00000000eab9257f>] 0xffffffffffffffff > > It could be a false positive, not sure yet. It may not even been > related with these changes. I'll let you know what I can find. 128 bytes is 16 page pointers. I think it's the leak I found when tracking down that problem with pipes. Fixed by https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-linus&id=e76b6312391bdd62e31dc86cb65e478b07b7909e https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git/commit/?h=for-linus&id=d7760d638b140d53c6390a2fbee9b06460b43e9e Sorry, I should have added those commits to testing. Thanks, Ilya -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html