Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3719871pxv; Mon, 26 Jul 2021 10:11:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpzF/S2xXRNh8kSl9OJb0Q9x0bifad6NHvb6yUAQ1KBF4y9b8zGNO/gR9+SKl5ajcbrtb7 X-Received: by 2002:aa7:cf8b:: with SMTP id z11mr23596733edx.54.1627319484493; Mon, 26 Jul 2021 10:11:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627319484; cv=none; d=google.com; s=arc-20160816; b=0pZyT1PDkN4rDSrvrNDLHHBuyG5oFmUKIco82vWZiYcrb+2TbS5HZ5+4mtS2yeTeNh zr/PhlSypN6eVnaUHW5oCYOF3OYpMOOmxTStWla8KBl1FWmhx9OO3o0HXIjIuSAE2/1B 461z98g1ci2sBn4sLLVfmFnU06u2iyEQ6aBPNh181v8sEgasecxmgTV8+Po41miZmToe wcIhAPE9Ey51+hgLtUyK2IZFYyaWMp9wRiIIfoAJC4gY3MHgWPULAn8Wu5YIEKfQY/QR Cd65jxwXl8/3IQATmf9at/aeStZmKlp1rkBzeiOzhvR9x0KnA5g6tbLUtG4hl7e5XAFD Gbtg== 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 :to:subject; bh=II1FaJK1j0+IDDo6DucfWGMxPAFA2ruTBc5K/NA4VWY=; b=FJVKUxn6pNuD9YiqAOJcIDbYJRPs1nG2M4Ooz3vWZHQqCNPMdw2/STIZwOyr4Vrbh8 ThrckVqbkpyEJ6qRDN9YK87jJ+i5MslRJaCG1mNyafezMpyxWm3AT0rvZLRqG4pnpjv3 y9i2q4so0IRbiraXhjq7oLTCBvYUm6ueZOgyKm1smelccWL9416wY8A8gvIrcm9RrpNW zM6GMiBsd4w119NH2rbVQtnT3yj6vt8guE9RwG5/Zz8vL42OMS1oM1ZUpbWgcm01aXV4 9CmbJxb8pla84chk4N7Bf3Z4h4uddIN3ykxAeIR3adM34KRTaM0WqB3Nhncpk9xKf8Rj Q/Cw== 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 c9si435694ede.568.2021.07.26.10.11.00; Mon, 26 Jul 2021 10:11:24 -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 S236545AbhGZQTA (ORCPT + 99 others); Mon, 26 Jul 2021 12:19:00 -0400 Received: from p3plsmtpa07-05.prod.phx3.secureserver.net ([173.201.192.234]:47346 "EHLO p3plsmtpa07-05.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242010AbhGZQQz (ORCPT ); Mon, 26 Jul 2021 12:16:55 -0400 Received: from [192.168.0.100] ([68.239.50.225]) by :SMTPAUTH: with ESMTPSA id 83nmmkvCl0LVM83nnmq73U; Mon, 26 Jul 2021 09:50:04 -0700 X-CMAE-Analysis: v=2.4 cv=JJ/+D+Gb c=1 sm=1 tr=0 ts=60fee7bc a=Rhw2r8FBodfaBxRKvGSZLA==:117 a=Rhw2r8FBodfaBxRKvGSZLA==:17 a=IkcTkHD0fZMA:10 a=Mwu5d-69jdYTgDQK8hcA:9 a=QEXdDO2ut3YA:10 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 , linux-nfs@vger.kernel.org, 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: Date: Mon, 26 Jul 2021 12:50:02 -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: <162731081843.13580.15415936872318036839.stgit@klimt.1015granger.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfB7yfYMkh/ggSnMeOMx0z35ZSJuEgiRhbDdrzgq2PjRBfbNTmb5boByG4mec2PxM4GvFmvSWwXOb/GE+9jWssLiR2E/wTKFZVAs1xOBaGp3rvN+1aqaf Z8/MOgaCKP27nD0cbmt3/NJLXaRoOb3ciV9N0zQe+C36e/ZGulE4GsHPZlL6tZ29lhv1Y17CSJZfm8JEkMQvc8r3XdXDon25Y4shWF65wGOBbOWKjvSTHD6v 0dBRaeiBus7t8KH550rTHXm6gX6kJ4HBbwU5bembVMY= Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org 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? Is there any possibility of a false scheduler activation, later leading to a second wakeup or poll? Tom.