Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3836501pxv; Mon, 26 Jul 2021 13:30:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxw+gD9X+AXsFAx7iN8XTbnzQeRd1/bsNtPRUono4GJIBAf9HM+IJd995FZw1vPzX9eEjjI X-Received: by 2002:a05:6602:25da:: with SMTP id d26mr16246890iop.106.1627331458597; Mon, 26 Jul 2021 13:30:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627331458; cv=none; d=google.com; s=arc-20160816; b=bUep6Eh+AM6eTBQ9wmozD+4oKNiWHHHLgBDkJZ65JJnc35BhwMggZim1xA+YPOHyWy GdRuGwiHDD8V/mrCZINAv+eDIsiR7BFeGfdNUeSMe1uHc/qxadi9PGwzoKXExkJSII8a lzomVTrtm6rhUorbKF4jrZ7Q/Yhefg9t/rcZNBm7WK8pibYOHDNrbOWQoF/hLn6buwTZ I03coKSnszEZ2GXsg2eTamBET6D5mQKRS8ME5fBLNh5PDX3evAHv9hdA/9XwsgV7b6CA xp18cYObZK/Tv7xViORL48/ynTkQM5ghr1HWFup1fGfO0CraLaN5Ly5ZS0OryHBBCUM0 rHAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=BEMpmoit2dNWhCi40j0rKF6DaAhtcxgvh+O7D04FpfE=; b=dOUA4FlmS1Gn01K41aPL3zdKdoHIVDBcS/O0SYSJN5KAW1O+OB1RvfBIuO0CoDWeID 1O+hWznuDJm+TYQHwt20a0nYtyA2GQa5MSlSBZ40FRc+HJ3bwHlQgq/CKVRawaDKbSCo grH5OwAQYG8SyRvQDdb/goIeQrJplcAQiWgYAgIsk8ujYZMzdQYqk9uBqvGlz+WOnQhM cj0l3tz44GtwfanpvWjn8ehv+6eOUYIhAxXjz0qrs+0fyOM572AHLmlBTIPPj5KgiQ5g C/ebR3ARK28sVTAK2SWSJDoRtw3my9ZtgVtYHdXlf8TINAvC++Cw4m4OB7BCRjz0UDsl Ntxg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z13si876099ile.110.2021.07.26.13.30.35; Mon, 26 Jul 2021 13:30:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231752AbhGZTuC (ORCPT + 99 others); Mon, 26 Jul 2021 15:50:02 -0400 Received: from p3plsmtpa08-02.prod.phx3.secureserver.net ([173.201.193.103]:34765 "EHLO p3plsmtpa08-02.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229580AbhGZTuB (ORCPT ); Mon, 26 Jul 2021 15:50:01 -0400 X-Greylist: delayed 437 seconds by postgrey-1.27 at vger.kernel.org; Mon, 26 Jul 2021 15:50:01 EDT Received: from [192.168.0.100] ([68.239.50.225]) by :SMTPAUTH: with ESMTPSA id 8783mM5FRFkBS8784m2ecH; Mon, 26 Jul 2021 13:23:12 -0700 X-CMAE-Analysis: v=2.4 cv=b4R3XvKx c=1 sm=1 tr=0 ts=60ff19b0 a=Rhw2r8FBodfaBxRKvGSZLA==:117 a=Rhw2r8FBodfaBxRKvGSZLA==:17 a=IkcTkHD0fZMA:10 a=SEc3moZ4AAAA:8 a=QL6GP8Oo9ifN5IFqZiwA:9 a=QEXdDO2ut3YA:10 a=5oRCH6oROnRZc2VpWJZ3:22 X-SECURESERVER-ACCT: tom@talpey.com Subject: Re: [PATCH v1 1/3] svcrdma: Fewer calls to wake_up() in Send completion handler To: Chuck Lever III Cc: Linux NFS Mailing List , "linux-rdma@vger.kernel.org" References: <162731055652.13580.8774661104190191089.stgit@klimt.1015granger.net> <162731081843.13580.15415936872318036839.stgit@klimt.1015granger.net> From: Tom Talpey Message-ID: <283a4f12-5bbe-c4ea-d5c4-f49ce69c59bf@talpey.com> Date: Mon, 26 Jul 2021 16:23:11 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfDkNBJ/zohku3jSB5JsqqHTGE/EMrrkCiQBAClbaUD3FY77O87AkcCzzt1yEfgQJHXVOXcWMf+iNjUfD5AIpJ+IMgaIXer0q4p9zIYqOr3DIopZKmCYx 4y9huZ1jMhai84k9YdIwoQ5nxVpfeeui5PM1WsCXvVyzQg3/JbSMXQbWQyc71lpAAkHIxdp8pZQOSogRUVo7HJhyO55wtpvLsJ/+fVUDesgCWdMVHTn7A/1X uqFqIWF/Y7rPKP+Q3A1T/bBSNsK9Xtee7rw0d093SSw= Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org On 7/26/2021 1:53 PM, Chuck Lever III wrote: > > >> On Jul 26, 2021, at 12:50 PM, Tom Talpey wrote: >> >> On 7/26/2021 10:46 AM, Chuck Lever wrote: >>> /** >>> * svc_rdma_wc_send - Invoked by RDMA provider for each polled Send WC >>> * @cq: Completion Queue context >>> @@ -275,11 +289,9 @@ static void svc_rdma_wc_send(struct ib_cq *cq, struct ib_wc *wc) >>> trace_svcrdma_wc_send(wc, &ctxt->sc_cid); >>> + svc_rdma_wake_send_waiters(rdma, 1); >>> complete(&ctxt->sc_done); >>> - atomic_inc(&rdma->sc_sq_avail); >>> - wake_up(&rdma->sc_send_wait); >> >> This appears to change the order of wake_up() vs complete(). >> Is that intentional? > > IIRC I reversed the order here to be consistent with the other > Send completion handlers. > > >> Is there any possibility of a false >> scheduler activation, later leading to a second wakeup or poll? > > The two "wake-ups" here are not related to each other, and RPC > Replies are transmitted already so this shouldn't have a direct > impact on server latency. But I might not understand your > question. IIUC, you're saying that the thread which is awaiting the completion of ctxt->sc_done is not also waiting to send anything, therefore no thread is going to experience a fire drill. Ok. Feel free to add my Reviewed-By: Tom Talpey to the series. Tom.