From nobody Tue Jun 24 22:25:07 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bRfdw0pwYz60LpK; Tue, 24 Jun 2025 22:25:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bRfdv5664z41LY; Tue, 24 Jun 2025 22:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750803907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FE/hQoHBc74uxCZqlpLYY/YE23Uf3MNcwMUumLlb8zg=; b=AftjM1V+mmjSonGXFADyJCwDNk86OfzzDXY5fq7+t18qinls2V+kJbRnqfwjSMZtMFlwS1 YmYFdIPLELuoCZoMv0bHOXZpTJ4hX8wY7QaE5SPd4XKRkBdT+/OPfKc49/Na/JgH4tncJZ k+6asRmXp9w8KD6aCRYSowrW9A3fXowps+KZh8MAwKGodbb8NGQD5yeg2PJlI+cBbiP8ho MyXnZzHVEx09BBzIt1ak3wDqld3YL/iucuS7aAeAbzHQVyDfetl4UlcU5FBpY+BK+ntmuc B/HLTL2V0RrMd+jAIxs2szTwfPZP+oF+F3GYLDDLm3kcPl5PbAe44rUx8QGvuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750803907; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FE/hQoHBc74uxCZqlpLYY/YE23Uf3MNcwMUumLlb8zg=; b=B2pqeYrehHX2OwiZs3CwcSTP526WNAaiUg5nAtuVdV5LGUGNgpctq+2Zk1UgeGS3xvv4OS ajMYrro4OkLPwYCIU1zwLyIibwSo1YVMAVFK4i48t8xH3ymuXVNU82R/Zfe6k5zw4NHbkb +bZQBbRGBKFuLykoVCz/k4tU685tBfe7DJdAB7WYofAD6QD2X1rBnoZIzbkTMqgImxet+Z WXM5dx4X+kzneeYhw91a/53Pw0YidhTcEd0apiNorTbkUKxGldwUmSUW+gXBQnxa7mmVAp VSmtj/tASMWx/2h6hR0x4Btzhpho5oIbskR9tTFTHbvT/1t8KynzENBg4/WmqQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750803907; a=rsa-sha256; cv=none; b=QAZvLsdJsQJgPJuMBdOGsbaAQqk0XdmhrfPwNzFIiqHLk4xsOE8jzLYP6+dbrPeGbfcRSk UXH24p5f6AUGpDTImYrWgR/hvMv4RthgJiVQ5f5oC7Dm2GPmjIDdQ2teF5AsuQIlFwp+Mq H2zEOlsVndoHdFx3LHb6j4jMo++jA34m4jyilC3wqA2nleGFI0bEkleXxa6M45IcfDV6Cc xwj46tHx1wnhgDiYYhxK/tFknByrVwV1jyznSmL6sGA68XhuQb8X+yxNQWfwxD2pC+HjCc pQ2MWBftpgZiC7zcZ7GmLM6tFkoijIrwV3TpQLBXtiEn6K5Y668ELJm3Ma7iIg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bRfdv3WMbz15YC; Tue, 24 Jun 2025 22:25:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55OMP75n036124; Tue, 24 Jun 2025 22:25:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55OMP7I5036121; Tue, 24 Jun 2025 22:25:07 GMT (envelope-from git) Date: Tue, 24 Jun 2025 22:25:07 GMT Message-Id: <202506242225.55OMP7I5036121@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: d17cbe46983c - main - sendfile: retire SF_SYNC List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d17cbe46983c08ba0567b0ffd71434abd35aa205 Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=d17cbe46983c08ba0567b0ffd71434abd35aa205 commit d17cbe46983c08ba0567b0ffd71434abd35aa205 Author: Gleb Smirnoff AuthorDate: 2025-06-24 21:26:10 +0000 Commit: Gleb Smirnoff CommitDate: 2025-06-24 22:24:04 +0000 sendfile: retire SF_SYNC The flag was added in b75a1171d8ba4 for the sake of Varnish. However, that idea didn't work. Quoting email from Poul-Henning: "We had to give up sendfile(), the overhead of keeping track of everything between the network stack and VM system made ate any gain we saw. ... I dont think we ever shipped a version where sendfile was enabled by default." PR: 287348 --- lib/libsys/sendfile.2 | 8 +------- sys/kern/kern_sendfile.c | 6 +++++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/libsys/sendfile.2 b/lib/libsys/sendfile.2 index 07a563d5ef82..6000e3e9828f 100644 --- a/lib/libsys/sendfile.2 +++ b/lib/libsys/sendfile.2 @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 30, 2020 +.Dd June 24, 2025 .Dt SENDFILE 2 .Os .Sh NAME @@ -147,12 +147,6 @@ in a different context. .It Dv SF_NOCACHE The data sent to socket will not be cached by the virtual memory system, and will be freed directly to the pool of free pages. -.It Dv SF_SYNC -.Nm -sleeps until the network stack no longer references the VM pages -of the file, making subsequent modifications to it safe. -Please note that this is not a guarantee that the data has actually -been sent. .It Dv SF_USER_READAHEAD .Nm has some internal heuristics to do readahead when sending data. diff --git a/sys/kern/kern_sendfile.c b/sys/kern/kern_sendfile.c index 25c1f357dfd4..17b53208157a 100644 --- a/sys/kern/kern_sendfile.c +++ b/sys/kern/kern_sendfile.c @@ -798,7 +798,11 @@ vn_sendfile(struct file *fp, int sockfd, struct uio *hdr_uio, SFSTAT_INC(sf_syscalls); SFSTAT_ADD(sf_rhpages_requested, SF_READAHEAD(flags)); - if (flags & SF_SYNC) { + if (__predict_false(flags & SF_SYNC)) { + gone_in(16, "Warning! %s[%u] uses SF_SYNC sendfile(2) flag. " + "Please follow up to https://bugs.freebsd.org/" + "bugzilla/show_bug.cgi?id=287348. ", + td->td_proc->p_comm, td->td_proc->p_pid); sfs = malloc(sizeof(*sfs), M_SENDFILE, M_WAITOK | M_ZERO); mtx_init(&sfs->mtx, "sendfile", NULL, MTX_DEF); cv_init(&sfs->cv, "sendfile");