From nobody Thu May 2 22:04:17 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1679945427; cv=none; d=zohomail.com; s=zohoarc; b=N9mxcWAKSW7Sj4jjA/21ntJoqWcPAieDBLHtcrioKww473grMOlcsf1GyLS/21z6xEDJVKCCX5JY+rlmU/acdb91CeAisqjGuqenKnreLD0vTHuiIhAcWzs2pVtKAnzb+0Gv4bAdevlUvqPtDLeMTg6j4Zjb/93Dte9XzGIRUtw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1679945427; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=fa2PP890Ps8Y9V+XOUxj4Q1L4hnirMxpO82Cb2yDkd8=; b=HJFP8M9/LeDCo1hnscaQG1oUBg4fsQJvH0DHLC1AHvUFEXAEvwQL5EWIvX1681f2e3CAuIuwsBaDFSG/NDt+ZH3UW1dxlMD+i0samkB+VaMZ4hWClA7VwxqgPJFn/7FQefvrJFYH/UUGCswiP+5Vg3fjsXplBGinn5IG+CTH8fA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1679945427942290.07034175562967; Mon, 27 Mar 2023 12:30:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pgsXc-0001uL-SE; Mon, 27 Mar 2023 15:30:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgsXZ-0001tm-Rr for qemu-devel@nongnu.org; Mon, 27 Mar 2023 15:30:02 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pgsXY-0005fU-6G for qemu-devel@nongnu.org; Mon, 27 Mar 2023 15:30:01 -0400 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-175-o0NonISEM7qHamL4RK3mRg-1; Mon, 27 Mar 2023 15:29:55 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B1E353C10144; Mon, 27 Mar 2023 19:29:54 +0000 (UTC) Received: from green.redhat.com (unknown [10.2.16.173]) by smtp.corp.redhat.com (Postfix) with ESMTP id 35223C15BA0; Mon, 27 Mar 2023 19:29:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679945398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fa2PP890Ps8Y9V+XOUxj4Q1L4hnirMxpO82Cb2yDkd8=; b=WnOT5fMNdMp29sJ1sN41g4x3KyHAxdVbcyhRkZDkfZpAdIRj5xKN7KV2TLT3SyRCIyX0Hv 8wZcJ+dPs7qg6ido8LQoB+wpjfeCRhGqHvL3gcWhMSk2fVcHWp7YLL5AGUH5eJjWhlE3Nf luG9MY9GVIvvzolTOigMR/cad0ipj54= X-MC-Unique: o0NonISEM7qHamL4RK3mRg-1 From: Eric Blake To: qemu-devel@nongnu.org Cc: Florian Westphal , Vladimir Sementsov-Ogievskiy , qemu-block@nongnu.org (open list:Network Block Dev...) Subject: [PATCH for-8.0] nbd/server: Request TCP_NODELAY Date: Mon, 27 Mar 2023 14:29:47 -0500 Message-Id: <20230327192947.1324372-1-eblake@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=eblake@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1679945428872100001 Content-Type: text/plain; charset="utf-8" Nagle's algorithm adds latency in order to reduce network packet overhead on small packets. But when we are already using corking to merge smaller packets into transactional requests, the extra delay from TCP defaults just gets in the way. For reference, qemu as an NBD client already requests TCP_NODELAY (see nbd_connect() in nbd/client-connection.c); as does libnbd as a client [1], and nbdkit as a server [2]. [1] https://gitlab.com/nbdkit/libnbd/-/blob/a48a1142/generator/states-conne= ct.c#L39 [2] https://gitlab.com/nbdkit/nbdkit/-/blob/45b72f5b/server/sockets.c#L430 CC: Florian Westphal Signed-off-by: Eric Blake --- nbd/server.c | 1 + 1 file changed, 1 insertion(+) diff --git a/nbd/server.c b/nbd/server.c index a4750e41880..976223860bf 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -2755,6 +2755,7 @@ void nbd_client_new(QIOChannelSocket *sioc, } client->tlsauthz =3D g_strdup(tlsauthz); client->sioc =3D sioc; + qio_channel_set_delay(QIO_CHANNEL(cioc), false); object_ref(OBJECT(client->sioc)); client->ioc =3D QIO_CHANNEL(sioc); object_ref(OBJECT(client->ioc)); base-commit: e3debd5e7d0ce031356024878a0a18b9d109354a --=20 2.39.2