Received: by 2002:ac0:da4c:0:0:0:0:0 with SMTP id a12csp2251865imi; Sun, 24 Jul 2022 12:49:58 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ulGZixv2mwftQ7c7aWggAMC+m4dFgB5NZokUxD+qd4wIiuWuoalJJgCda5CSAc53LCb+Wy X-Received: by 2002:a05:6402:34c8:b0:43b:e7b1:353c with SMTP id w8-20020a05640234c800b0043be7b1353cmr4995931edc.171.1658692198240; Sun, 24 Jul 2022 12:49:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658692198; cv=none; d=google.com; s=arc-20160816; b=jA0PB3+g/noNvYhNnaADaHdIp5EFB0GWfNvBuVmsxC2gbNWV+XtrhbRVK9odfaCxZw gFWcXniYugyL7x0aRrjRGUbfWX+VAyePecRNobYW1zHd9aJYseMcVL01o83RtPnN5WWF 9B6rABZT2SOQIT8BayugZ7cwmRUjfcT7XnfXaSIw14bR3syOi0Kibq43WZKInbXiWJyt pNxkcKrcz3CV+dKdQNHa+JbPFJc1m0bOQJIkPra6Nx43AB8ZnNiNpEHZvDYA0uxbVBXg dTgYEDWuRMXkJ/LiAr4ATgXmMfx3lSOEI+q1AeE3ytjPj2GzWYDwrU3uWl5O96AivI9l vbEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version:date :message-id:dkim-signature; bh=qRTQDwqP1HUVVZsO9No+yz+rIxQHSIehw9dykEFg0Hg=; b=Kt09zLREieicI09/joubESjC8gBc1kzVBUo36E7d+t7gCWXCX7vUM5NRqKFurXBJGA pFUz/4uh6Ss0niTz5vdFRGMS6hbj9JSe1n0uzVtB6Vs2pQzHNLCQMvRIlVSSF0i4EbnQ VoJqXNRzrBP67GX+pMZsK+c1rGAoSV9ouacxkuy0Hap6xP22ByPiUKzFLgMLClG1VEAy jxmg/UCShdfY4rFz27iie0V1+2zOo9cNNtjCb6j6ULZU0CtrVfzcKNNUQ28sv6gFRoKD 3KZDcVPovXTXnmCPIFcyVeLAGLeSWp7+KlcgjJ8ADQzSHy1rH6qehCQRJ254uA1HgXjK 9e3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bnlSBQVB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dp16-20020a170906c15000b0072f112ad84asi7000094ejc.151.2022.07.24.12.49.25; Sun, 24 Jul 2022 12:49:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=bnlSBQVB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232112AbiGXS2w (ORCPT + 99 others); Sun, 24 Jul 2022 14:28:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53286 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229782AbiGXS2u (ORCPT ); Sun, 24 Jul 2022 14:28:50 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 70C6610559; Sun, 24 Jul 2022 11:28:49 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 017C3611AF; Sun, 24 Jul 2022 18:28:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E82D1C3411E; Sun, 24 Jul 2022 18:28:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1658687328; bh=xjkjAJfFUzF+WA1oEacBMK6l7NtnI2Vp89y2dB4ruD4=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=bnlSBQVBtUuAS7qzZy/ew8oEYMacSmwObKzPqaN0I2Myn+lvPr6jivb+XDeWErVKv Eo/ITI4SeJAaz2vbUp0rcpWitiGTJbbQilSKDov8NRBAHkxcJHP2w5NJGQfslfcwgS A7J+Mse7iG0nRfa8vHcmA9HzQhuN5EeZRiG2CQLjnIQTXCJd6l+1fsCRG5lqEkEDYm HHFG9HL3TGkQiEcYWb46eJnuq9FuhN++I6WtXqqhVF0uR9sZfUCnzWDOrV2y8cydvy tQi5AQCHqDdN7KwznBnIvvWl/MAipi5ZLbWAn7wAs7eJ83nyv5++y94CBx5QMOgzJZ 6CctKvlFEDgCg== Message-ID: <3b81b3e1-2810-5125-f4a0-d6ba45c1fbd3@kernel.org> Date: Sun, 24 Jul 2022 12:28:47 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH net-next v4 00/27] io_uring zerocopy send Content-Language: en-US From: David Ahern To: Pavel Begunkov , io-uring@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: "David S . Miller" , Jakub Kicinski , Jonathan Lemon , Willem de Bruijn , Jens Axboe , kernel-team@fb.com References: <2c49d634-bd8a-5a7f-0f66-65dba22bae0d@kernel.org> <0f54508f-e819-e367-84c2-7aa0d7767097@gmail.com> <812c3233-1b64-8a0d-f820-26b98ff6642d@kernel.org> In-Reply-To: <812c3233-1b64-8a0d-f820-26b98ff6642d@kernel.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-7.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 7/17/22 8:19 PM, David Ahern wrote: >> >> Haven't seen it back then. In general io_uring doesn't stop submitting >> requests if one request fails, at least because we're trying to execute >> requests asynchronously. And in general, requests can get executed >> out of order, so most probably submitting a bunch of requests to a single >> TCP sock without any ordering on io_uring side is likely a bug. > > TCP socket buffer fills resulting in a partial send (i.e, for a given > sqe submission only part of the write/send succeeded). io_uring was not > handling that case. > > I'll try to find some time to resurrect the iperf3 patch and try top of > tree kernel. With your zc_v5 branch (plus the init fix on using msg->sg_from_iter), iperf3 with io_uring support (non-ZC case) no longer shows completions with incomplete sends. So that is good improvement over the last time I tried it. However, adding in the ZC support and that problem resurfaces - a lot of completions are for an incomplete size. liburing comes from your tree, zc_v4 branch. Upstream does not have support for notifications yet, so I can not move to it. Changes to iperf3 are here: https://github.com/dsahern/iperf mods-3.10-io_uring