From owner-freebsd-current@freebsd.org Fri Feb 26 05:20:24 2021 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E7F875557FA for ; Fri, 26 Feb 2021 05:20:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-oo1-f54.google.com (mail-oo1-f54.google.com [209.85.161.54]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4DmyfJ1Y8Xz4mFj for ; Fri, 26 Feb 2021 05:20:24 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-oo1-f54.google.com with SMTP id y21so1935234oou.13 for ; Thu, 25 Feb 2021 21:20:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=BK2eOBMDDRSbkdIda5DckV+1B2fzmVS8MI3WSII7dUo=; b=N5DC+Io35GhqLaPfMALEPm6rS/0fOfw6uxnuGUQSbof37p2jhbTLWWlquQIQqdVwHV MDVpFdoOCsOlVcbyiY2488qgKtUVEIC+ipvUXH7SCsfyHWjcHWlNhehMP7fQFxc1gk9z jMSOp/ExVkdNASMjF3iNXA+AkbqXyXVVMJjA/cABS/Q8yqlSC2bvhn3qHaQP7Z/9E99M qidGdydgqCXA0j3+82cY9ThlUep5jIhTX5u+QeFtVdO9J1BAfUszJrvA+izuWphAXsXJ QdVTMoVfv1FlegAD0k3cmjZPqJG8R0xKc3iy/i86vFNa1WASR4aYYKUxg5bip72x2M34 P7cQ== X-Gm-Message-State: AOAM530DjvSNhkpwE47jBkS9/vtAh4zOhUi1p6xWJ1XdKLWT3wrhKTEh wqSK2iCoz5V1unjDtir4cY0FWROlWX36vf6fgic7PQDqCpw= X-Google-Smtp-Source: ABdhPJwqlsU98sh4oXUR9tOzA608UhnUlxgaxeCIG4mkLIMSBNUB7RpTrhVtg0mMi/DjigejnC1eBhCIJ0SKk0HexvU= X-Received: by 2002:a4a:88ee:: with SMTP id q43mr1141805ooh.61.1614316822551; Thu, 25 Feb 2021 21:20:22 -0800 (PST) MIME-Version: 1.0 From: Alan Somers Date: Thu, 25 Feb 2021 22:20:12 -0700 Message-ID: Subject: KTLS with zfs recv To: FreeBSD CURRENT X-Rspamd-Queue-Id: 4DmyfJ1Y8Xz4mFj X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.161.54 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-2.64 / 15.00]; RWL_MAILSPIKE_GOOD(0.00)[209.85.161.54:from]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_DN_ALL(0.00)[]; NEURAL_HAM_SHORT(-0.64)[-0.636]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RBL_DBL_DONT_QUERY_IPS(0.00)[209.85.161.54:from]; R_DKIM_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; TO_DOM_EQ_FROM_DOM(0.00)[]; FREEFALL_USER(0.00)[asomers]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-current@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; SPAMHAUS_ZRD(0.00)[209.85.161.54:from:127.0.2.255]; RCVD_IN_DNSWL_NONE(0.00)[209.85.161.54:from]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-current] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Feb 2021 05:20:25 -0000 My understanding is that KTLS works very well with OpenSSL for sending, but not as well for receiving, because there's nothing like a recvfile syscall. However, it works great for both send and receive with NFS, where all the data remains in the kernel. What about zfs recv? A very common pattern is for an application to read from an SSL socket and then pipe the data to zfs recv. For example, zrepl does that. Could zfs recv instead read directly from the KTLS socket, bypassing userspace? That could potentially save a _lot_ of cycles for a _lot_ of people. -Alan