GNU logs - #77606, boring messages


Message sent to guix@HIDDEN, bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#77606: =?UTF-8?Q?=E2=80=98fdatasync=E2=80=99?= on cached narinfo files is too expensive
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludovic.courtes@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix@HIDDEN, bug-guix@HIDDEN
Resent-Date: Mon, 07 Apr 2025 10:21:02 +0000
Resent-Message-ID: <handler.77606.B.174402124517890 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 77606
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 77606 <at> debbugs.gnu.org
Cc: Christopher Baines <guix@HIDDEN>
X-Debbugs-Original-To: bug-guix@HIDDEN
X-Debbugs-Original-Xcc: Christopher Baines <guix@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.174402124517890
          (code B ref -1); Mon, 07 Apr 2025 10:21:02 +0000
Received: (at submit) by debbugs.gnu.org; 7 Apr 2025 10:20:45 +0000
Received: from localhost ([127.0.0.1]:52869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u1jau-0004eP-6D
	for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 06:20:44 -0400
Received: from lists.gnu.org ([2001:470:142::17]:60896)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <ludovic.courtes@HIDDEN>)
 id 1u1jar-0004dm-Hy
 for submit <at> debbugs.gnu.org; Mon, 07 Apr 2025 06:20:42 -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 <ludovic.courtes@HIDDEN>)
 id 1u1jal-00043e-UK
 for bug-guix@HIDDEN; Mon, 07 Apr 2025 06:20:35 -0400
Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <ludovic.courtes@HIDDEN>)
 id 1u1jaj-0000ti-1x
 for bug-guix@HIDDEN; Mon, 07 Apr 2025 06:20:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc;
 h=from:to:subject:date:message-id:mime-version:
 content-transfer-encoding;
 bh=uwDl8Y3p9PYBSmwhEfkzjbSDGdahr46mdfxOK3pKDPQ=;
 b=DQumi73DbqdWnhBfBwmX0bF7ArAKMHO82GYN3dOX7RuTp1DSti5IwP4g
 SnOw955ebjKSIzCfOAmdo8djorkpUpkf76UdxuUFRkcpNEkmlsUSmW99j
 idVXpDYEXoNrzTlQtw9Nt6/kCOnnji9KTlfVu3jhOuXHAFhp9T1cvRs3s g=;
Authentication-Results: mail2-relais-roc.national.inria.fr;
 dkim=none (message not signed) header.i=none;
 spf=SoftFail smtp.mailfrom=ludovic.courtes@HIDDEN;
 dmarc=fail (p=none dis=none) d=inria.fr
X-IronPort-AV: E=Sophos;i="6.15,194,1739833200"; d="scan'208";a="216664827"
Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201])
 by mail2-relais-roc.national.inria.fr with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Apr 2025 12:20:26 +0200
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludovic.courtes@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: Octidi 18 Germinal an 233 de la =?UTF-8?Q?R=C3=A9volution,?= jour de la =?UTF-8?Q?Cigu=C3=AB?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Mon, 07 Apr 2025 12:20:26 +0200
Message-ID: <87frik9st1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=192.134.164.83;
 envelope-from=ludovic.courtes@HIDDEN;
 helo=mail2-relais-roc.national.inria.fr
X-Spam_score_int: -43
X-Spam_score: -4.4
X-Spam_bar: ----
X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.01,
 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello,

As Christopher Baines reported on IRC, calling =E2=80=98fdatasync=E2=80=99 =
on each
cached narinfo under /var/guix/substitute/cache can be unreasonably
expensive on spinning disks.

On bayfront, when tracing =E2=80=98guix substitute=E2=80=99 processes, we o=
bserve
=E2=80=98fdatasync=E2=80=99 occasionally taking more than a second, and typ=
ically taking
more than 0.2s:

--8<---------------cut here---------------start------------->8---
mkdir("/var", 0777)                     =3D -1 EEXIST (File exists) <0.0000=
48>
mkdir("/var/guix", 0777)                =3D -1 EEXIST (File exists) <0.0000=
42>
mkdir("/var/guix/substitute", 0777)     =3D -1 EEXIST (File exists) <0.0000=
40>
mkdir("/var/guix/substitute/cache", 0777) =3D -1 EEXIST (File exists) <0.00=
0042>
mkdir("/var/guix/substitute/cache/kzwjeblndsbkjzmjailrt4bnhguil7tqjmewzcyw2=
2hgajbhfy3q", 0777) =3D -1 EEXIST (File exists
) <0.000041>
clock_gettime(CLOCK_MONOTONIC, {tv_sec=3D153237, tv_nsec=3D595042938}) =3D =
0 <0.000037>
openat(AT_FDCWD, "/var/guix/substitute/cache/kzwjeblndsbkjzmjailrt4bnhguil7=
tqjmewzcyw22hgajbhfy3q/nfmn2nkfjz5kzklw165aj
6ilwphw9zrz.3kAGMM", O_RDWR|O_CREAT|O_EXCL, 0600) =3D 15 <0.000123>
fstat(15, {st_mode=3DS_IFREG|0600, st_size=3D0, ...}) =3D 0 <0.000037>
lseek(15, 0, SEEK_CUR)                  =3D 0 <0.000038>
write(15, "(narinfo (version 2) (cache-uri "..., 1066) =3D 1066 <0.000071>
fdatasync(15)                           =3D 0 <1.860604>
--8<---------------cut here---------------end--------------->8---

A longer sample:

--8<---------------cut here---------------start------------->8---
ludo@bayfront ~$ grep ^fdatasync log.strace=20
fdatasync(15)                           =3D 0 <1.860604>
fdatasync(15)                           =3D 0 <1.101868>
fdatasync(15)                           =3D 0 <0.464357>
fdatasync(15)                           =3D 0 <0.363363>
fdatasync(15)                           =3D 0 <0.307759>
fdatasync(15)                           =3D 0 <0.619979>
fdatasync(15)                           =3D 0 <0.269880>
fdatasync(15)                           =3D 0 <0.274093>
fdatasync(15)                           =3D 0 <0.247207>
fdatasync(15)                           =3D 0 <0.367507>
fdatasync(15)                           =3D 0 <0.212277>
fdatasync(15)                           =3D 0 <0.234929>
fdatasync(15)                           =3D 0 <0.330697>
fdatasync(15)                           =3D 0 <0.193925>
fdatasync(15)                           =3D 0 <0.251554>
fdatasync(15)                           =3D 0 <0.379571>
--8<---------------cut here---------------end--------------->8---

That call comes from =E2=80=98with-atomic-file-output=E2=80=99, commit
1752a17a1e6f7138892eeeb4806cd04ccb3ca1b0, which refers to this
discussion:

  https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00456.html

It probably makes sense in some uses of =E2=80=98with-atomic-file-output=E2=
=80=99, but
nor for a cache as is the case here.

Ludo=E2=80=99.




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludovic.courtes@HIDDEN>
Subject: bug#77606: Acknowledgement (=?UTF-8?Q?=E2=80=98fdatasync=E2=80=99?=
 on cached narinfo files is too expensive)
Message-ID: <handler.77606.B.174402124517890.ack <at> debbugs.gnu.org>
References: <87frik9st1.fsf@HIDDEN>
X-Gnu-PR-Message: ack 77606
X-Gnu-PR-Package: guix
Reply-To: 77606 <at> debbugs.gnu.org
Date: Mon, 07 Apr 2025 10:21:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

As you requested using X-Debbugs-CC, your message was also forwarded to
  Christopher Baines <guix@HIDDEN>
(after having been given a bug report number, if it did not have one).

Your message has been sent to the package maintainer(s):
 bug-guix@HIDDEN

If you wish to submit further information on this problem, please
send it to 77606 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
77606: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77606
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems



Last modified: Mon, 7 Apr 2025 10:30:03 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.