From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757307AbcGJSOa (ORCPT ); Sun, 10 Jul 2016 14:14:30 -0400 Received: from casper.infradead.org ([85.118.1.10]:45430 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755817AbcGJSO1 (ORCPT ); Sun, 10 Jul 2016 14:14:27 -0400 Date: Sun, 10 Jul 2016 19:14:18 +0100 (BST) From: James Simmons To: Oleg Drokin cc: Al Viro , Mailing List , "" Subject: Re: More parallel atomic_open/d_splice_alias fun with NFS and possibly more FSes. In-Reply-To: <88A6EDE1-10F4-48FA-BCDC-D507C3E22DFA@linuxhacker.ru> Message-ID: References: <20160617042914.GD14480@ZenIV.linux.org.uk> <20160703062917.GG14480@ZenIV.linux.org.uk> <20160704000802.GH14480@ZenIV.linux.org.uk> <0145470E-667E-4A8D-AB79-F897322DA441@linuxhacker.ru> <20160704030812.GI14480@ZenIV.linux.org.uk> <1CFAE5F0-5E46-4B1D-A9EC-2D6286753A35@linuxhacker.ru> <20160705022556.GK14480@ZenIV.linux.org.uk> <88A6EDE1-10F4-48FA-BCDC-D507C3E22DFA@linuxhacker.ru> User-Agent: Alpine 2.20 (LFD 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160710_191418_743927_EA6A3993 X-CRM114-Status: GOOD ( 16.06 ) X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 on casper.infradead.org summary: Content analysis details: (-1.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 NO_RELAYS Informational: message was not relayed via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > On Jul 4, 2016, at 10:25 PM, Al Viro wrote: > > > BTW, could you take a look at > > git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git#sendmsg.lustre? > > It's a bunch of simplifications that became possible once sendmsg()/recvmsg() > > switched to iov_iter, stopped mangling the iovecs and went for predictable > > behaviour re advancing the iterator. > > Thanks, this looks good to me and passes my testing (on tcp). > > +typedef struct bio_vec lnet_kiov_t; > > This I guess we'll need to just get rid of all lnet_kiov_t usage, but that's > something we can do ourselves, I guess. > > Anyway, your patchset is based on old tree that no longer applies cleanly, > I rebased it to current staging tree to save you time in case > you want to go forward with it. > It's at git@github.com:verygreen/linux.git branch lustre-next-sendmsg > > James, can you please give it a try on IB? Its broke for the ko2iblnd driver. [ 110.840583] LNet: Using FMR for registration [ 110.991747] LNet: Added LNI 10.37.248.137@o2ib1 [63/2560/0/180] [ 110.998211] ------------[ cut here ]------------ [ 111.003012] kernel BUG at lib/iov_iter.c:513! [ 111.007545] invalid opcode: 0000 [#1] SMP [ 111.011731] Modules linked in: ko2iblnd(C) ptlrpc(C+) obdclass(C) ksocklnd(C) lnet(C) sha512_generic sha256_generic md5 crc32_generic crc3 2_pclmul libcfs(C) autofs4 ipmi_devintf auth_rpcgss nfsv4 dns_resolver 8021q iptable_filter ip_tables x_tables ib_ipoib rdma_ucm ib_ucm ib_uv erbs ib_umad rdma_cm configfs ib_cm iw_cm mlx4_ib ib_core dm_mirror dm_region_hash dm_log dm_multipath sg sd_mod joydev pcspkr dm_mod mpt3sas raid_class acpi_cpufreq ipmi_ssif ipmi_si ipmi_msghandler isci libsas scsi_transport_sas wmi tpm_tis tpm i2c_i801 ahci libahci libata scsi_m od ehci_pci ehci_hcd button tcp_cubic nfsv3(E) nfs_acl(E) ipv6(E) nfs(E) lockd(E) sunrpc(E) grace(E) mlx4_en(E) mlx4_core(E) igb(E) i2c_algo_ bit(E) i2c_core(E) ptp(E) pps_core(E) hwmon(E) [ 111.086669] CPU: 6 PID: 11899 Comm: router_checker Tainted: G C E 4.7.0-rc6+ #1 [ 111.095248] Hardware name: Supermicro X9DRT/X9DRT, BIOS 3.0a 02/19/2014 [ 111.102040] task: ffff880826d32d80 ti: ffff880811d24000 task.ti: ffff880811d24000 [ 111.109818] RIP: 0010:[] [] iov_iter_kvec+0x22/0x30 [ 111.118302] RSP: 0018:ffff880811d27b28 EFLAGS: 00010246 [ 111.123806] RAX: 0000000000000000 RBX: ffff88105e037c00 RCX: 0000000000000000 [ 111.131111] RDX: 0000000000000000 RSI: 0000000000000005 RDI: ffff880811d27b78 [ 111.138426] RBP: ffff880811d27b28 R08: 0000000000000000 R09: 0000000000000000 [ 111.145751] R10: 0000000000000000 R11: 00000000fffd19f7 R12: 0000000000000000 [ 111.153083] R13: 0000000000000000 R14: 000500010a25ca3b R15: ffff880811d27b78 [ 111.160407] FS: 0000000000000000(0000) GS:ffff88107fd00000(0000) knlGS:0000000000000000 [ 111.168797] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 111.174717] CR2: 00007fd075c48945 CR3: 000000105a9ec000 CR4: 00000000000406e0 [ 111.182031] Stack: [ 111.184224] ffff880811d27be8 ffffffffa04012bd 0000000000000000 ffff880811d27b40 [ 111.192206] 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 111.192206] 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 111.200196] 0000880800000002 ffff88105e394000 0000000000000000 0000000000000000 [ 111.208179] Call Trace: [ 111.210818] [] kiblnd_send+0x51d/0x9e0 [ko2iblnd] [ 111.217370] [] lnet_ni_send+0x3d/0xe0 [lnet] [ 111.223487] [] lnet_send+0x6b3/0xc80 [lnet] [ 111.229501] [] LNetGet+0x368/0x650 [lnet] [ 111.235346] [] ? cfs_percpt_lock+0x50/0x110 [libcfs] [ 111.242139] [] lnet_ping_router_locked+0x20f/0x840 [lnet] [ 111.249384] [] lnet_router_checker+0xd9/0x490 [lnet] [ 111.256192] [] ? default_wake_function+0xd/0x10 [ 111.262549] [] ? __wake_up_common+0x51/0x80 [ 111.268562] [] ? lnet_prune_rc_data+0x470/0x470 [lnet] [ 111.275544] [] ? schedule+0x3b/0xa0 [ 111.280871] [] ? lnet_prune_rc_data+0x470/0x470 [lnet] [ 111.287849] [] kthread+0xc7/0xe0 [ 111.292904] [] ret_from_fork+0x1f/0x40 [ 111.298475] [] ? kthread_freezable_should_stop+0x70/0x70 [ 111.305631] Code: 2e 0f 1f 84 00 00 00 00 00 55 40 f6 c6 02 48 89 e5 74 18 89 37 48 89 57 18 48 89 4f 20 48 c7 47 08 00 00 00 00 4c 89 47 10 c9 c3 <0f> 0b eb fe 66 2e 0f 1f 84 00 00 00 00 00 48 8b 47 10 55 48 89 [ 111.329528] RIP [] iov_iter_kvec+0x22/0x30 [ 111.335533] RSP [ 111.339360] ---[ end trace 1ea9288f558e2c8d ]---