From: Tom Tucker <tom@opengridcomputing.com>
To: Jiri Slaby <jslaby@suse.cz>, stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Tom Tucker <tom@ogc.us>,
"J . Bruce Fields" <bfields@redhat.com>
Subject: Re: [PATCH 3.12 34/72] Fix regression in NFSRDMA server
Date: Mon, 23 Nov 2015 09:35:56 -0600 [thread overview]
Message-ID: <5653325C.1090803@opengridcomputing.com> (raw)
In-Reply-To: <dc1546ee854c56780a29624d3bbf20a6fcd05574.1448283890.git.jslaby@suse.cz>
Seems like part of a patch was dropped or there was a merge problem. The
code in my tree has all these changes. Very strange.
Tom
On 11/23/15 7:08 AM, Jiri Slaby wrote:
> From: Tom Tucker <tom@ogc.us>
>
> 3.12-stable review patch. If anyone has any objections, please let me know.
>
> ===============
>
> commit 7e4359e2611f95a97037e2b6905eab52f28afbeb upstream.
>
> The server regression was caused by the addition of rq_next_page
> (afc59400d6c65bad66d4ad0b2daf879cbff8e23e). There were a few places that
> were missed with the update of the rq_respages array.
>
> Signed-off-by: Tom Tucker <tom@ogc.us>
> Tested-by: Steve Wise <swise@ogc.us>
> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> ---
> net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 12 ++++--------
> net/sunrpc/xprtrdma/svc_rdma_sendto.c | 1 +
> 2 files changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
> index 0ce75524ed21..8d904e4eef15 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
> @@ -90,6 +90,7 @@ static void rdma_build_arg_xdr(struct svc_rqst *rqstp,
> sge_no++;
> }
> rqstp->rq_respages = &rqstp->rq_pages[sge_no];
> + rqstp->rq_next_page = rqstp->rq_respages + 1;
This was fixed in an older version.
>
> /* We should never run out of SGE because the limit is defined to
> * support the max allowed RPC data length
> @@ -169,6 +170,7 @@ static int map_read_chunks(struct svcxprt_rdma *xprt,
> */
> head->arg.pages[page_no] = rqstp->rq_arg.pages[page_no];
> rqstp->rq_respages = &rqstp->rq_arg.pages[page_no+1];
> + rqstp->rq_next_page = rqstp->rq_respages + 1;
>
> byte_count -= sge_bytes;
> ch_bytes -= sge_bytes;
> @@ -276,6 +278,7 @@ static int fast_reg_read_chunks(struct svcxprt_rdma *xprt,
>
> /* rq_respages points one past arg pages */
> rqstp->rq_respages = &rqstp->rq_arg.pages[page_no];
> + rqstp->rq_next_page = rqstp->rq_respages + 1;
>
> /* Create the reply and chunk maps */
> offset = 0;
> @@ -520,13 +523,6 @@ next_sge:
> for (ch_no = 0; &rqstp->rq_pages[ch_no] < rqstp->rq_respages; ch_no++)
> rqstp->rq_pages[ch_no] = NULL;
>
> - /*
> - * Detach res pages. If svc_release sees any it will attempt to
> - * put them.
> - */
> - while (rqstp->rq_next_page != rqstp->rq_respages)
> - *(--rqstp->rq_next_page) = NULL;
> -
> return err;
> }
>
> @@ -550,7 +546,7 @@ static int rdma_read_complete(struct svc_rqst *rqstp,
>
> /* rq_respages starts after the last arg page */
> rqstp->rq_respages = &rqstp->rq_arg.pages[page_no];
> - rqstp->rq_next_page = &rqstp->rq_arg.pages[page_no];
> + rqstp->rq_next_page = rqstp->rq_respages + 1;
>
> /* Rebuild rq_arg head and tail. */
> rqstp->rq_arg.head[0] = head->arg.head[0];
> diff --git a/net/sunrpc/xprtrdma/svc_rdma_sendto.c b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> index c1d124dc772b..11e90f8c0fc5 100644
> --- a/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> +++ b/net/sunrpc/xprtrdma/svc_rdma_sendto.c
> @@ -625,6 +625,7 @@ static int send_reply(struct svcxprt_rdma *rdma,
> if (page_no+1 >= sge_no)
> ctxt->sge[page_no+1].length = 0;
> }
> + rqstp->rq_next_page = rqstp->rq_respages + 1;
> BUG_ON(sge_no > rdma->sc_max_sge);
> memset(&send_wr, 0, sizeof send_wr);
> ctxt->wr_op = IB_WR_SEND;
next prev parent reply other threads:[~2015-11-23 15:35 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-23 13:07 [PATCH 3.12 00/72] 3.12.51-stable review Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 01/72] dm btree remove: fix a bug when rebalancing nodes after removal Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 02/72] iwlwifi: dvm: fix D3 firmware PN programming Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 03/72] iwlwifi: fix firmware filename for 3160 Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 04/72] iwlwifi: mvm: fix D3 firmware PN programming Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 05/72] iommu/amd: Don't clear DTE flags when modifying it Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 06/72] powerpc/rtas: Validate rtas.entry before calling enter_rtas() Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 07/72] ASoC: wm8904: Correct number of EQ registers Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 08/72] mm: make sendfile(2) killable Jiri Slaby
2015-11-23 13:07 ` [PATCH 3.12 09/72] sfc: Fix memcpy() with const destination compiler warning Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 10/72] power: bq24190_charger: suppress build warning Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 11/72] spi: fix pointer-integer size mismatch warning Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 12/72] drm/nouveau/gem: return only valid domain when there's only one Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 13/72] rbd: require stable pages if message data CRCs are enabled Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 14/72] Revert "ARM64: unwind: Fix PC calculation" Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 15/72] dm btree: fix leak of bufio-backed block in btree_split_beneath error path Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 16/72] xhci: handle no ping response error properly Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 17/72] xhci: Add spurious wakeup quirk for LynxPoint-LP controllers Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 18/72] xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing) Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 19/72] module: Fix locking in symbol_put_addr() Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 20/72] crypto: api - Only abort operations on fatal signal Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 21/72] md/raid1: submit_bio_wait() returns 0 on success Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 22/72] md/raid10: " Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 23/72] mvsas: Fix NULL pointer dereference in mvs_slot_task_free Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 24/72] IB/cm: Fix rb-tree duplicate free and use-after-free Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 25/72] serial: 8250_pci: Add support for 16 port Exar boards Jiri Slaby
2015-11-23 14:18 ` Soeren Grunewald
2015-11-23 13:08 ` [PATCH 3.12 26/72] serial: 8250_pci: Add support for 12 " Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 27/72] mfd: wm5110: Add register patch for rev D chip Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 28/72] mfd: wm5110: Add register patch for rev E and above Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 29/72] mptfusion: prevent some memory corruption Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 30/72] audit: correctly record file names with different path name types Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 31/72] audit: create private file name copies when auditing inodes Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 32/72] libahci: Allow drivers to override start_engine Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 33/72] ahci: avoton port-disable reset-quirk Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 34/72] Fix regression in NFSRDMA server Jiri Slaby
2015-11-23 15:35 ` Tom Tucker [this message]
2015-11-23 13:08 ` [PATCH 3.12 35/72] irda: precedence bug in irlmp_seq_hb_idx() Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 36/72] macvtap: unbreak receiving of gro skb with frag list Jiri Slaby
2015-11-23 13:08 ` [PATCH 3.12 37/72] ppp: fix pppoe_dev deletion condition in pppoe_release() Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 38/72] RDS-TCP: Recover correctly from pskb_pull()/pksb_trim() failure in rds_tcp_data_recv Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 39/72] net/mlx4: Copy/set only sizeof struct mlx4_eqe bytes Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 40/72] stmmac: Correctly report PTP capabilities Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 41/72] ipmr: fix possible race resulting from improper usage of IP_INC_STATS_BH() in preemptible context Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 42/72] qmi_wwan: fix entry for HP lt4112 LTE/HSPA+ Gobi 4G Module Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 43/72] sit: fix sit0 percpu double allocations Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 44/72] net: avoid NULL deref in inet_ctl_sock_destroy() Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 45/72] net: fix a race in dst_release() Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 46/72] virtio-net: drop NETIF_F_FRAGLIST Jiri Slaby
2015-11-23 13:09 ` [PATCH 3.12 47/72] RDS: verify the underlying transport exists before creating a connection Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 48/72] netfilter: xt_NFQUEUE: fix --queue-bypass regression Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 49/72] powerpc/pseries: Fix dedicated processor partition detection Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 50/72] bridge: superfluous skb->nfct check in br_nf_dev_queue_xmit Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 51/72] net:socket: set msg_namelen to 0 if msg_name is passed as NULL in msghdr struct from userland Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 52/72] ceph: make sure request isn't in any waiting list when kicking request Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 53/72] ceph: protect kick_requests() with mdsc->mutex Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 54/72] ceph: fix kick_requests() Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 55/72] net: sun4i-emac: fix memory leak on bad packet Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 56/72] macmace: add missing platform_set_drvdata() in mace_probe() Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 57/72] r8169: fix the incorrect tx descriptor version Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 58/72] r8169: disable L23 Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 59/72] serial: 8250_dw: Fix deadlock in LCR workaround Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 60/72] ARM: orion: Fix DSA platform device after mvmdio conversion Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 61/72] rbd: don't leak parent_spec in rbd_dev_probe_parent() Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 62/72] rbd: prevent kernel stack blow up on rbd map Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 63/72] KEYS: Fix race between key destruction and finding a keyring by name Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 64/72] KEYS: Fix crash when attempt to garbage collect an uninstantiated keyring Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 65/72] KVM: x86: Defining missing x86 vectors Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 66/72] KVM: x86: work around infinite loop in microcode when #AC is delivered Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 67/72] KVM: svm: unconditionally intercept #DB Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 68/72] KVM: x86: Fix far-jump to non-canonical check Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 69/72] KVM: x86: Use new is_noncanonical_address in _linearize Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 70/72] ipv6: addrconf: validate new MTU before applying it Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 71/72] x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable() Jiri Slaby
2015-11-23 13:12 ` [PATCH 3.12 72/72] x86/mm/hotplug: Modify PGD entry when removing memory Jiri Slaby
2015-11-23 16:27 ` [PATCH 3.12 00/72] 3.12.51-stable review Guenter Roeck
2015-11-23 16:28 ` Guenter Roeck
2015-11-23 16:30 ` Shuah Khan
2015-11-24 3:42 ` Guenter Roeck
2015-11-30 9:06 ` Jiri Slaby
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5653325C.1090803@opengridcomputing.com \
--to=tom@opengridcomputing.com \
--cc=bfields@redhat.com \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=tom@ogc.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).