From nobody Tue Jan 30 06:56:19 2024 X-Original-To: freebsd-stable@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 4TPGFF0rH3z58SYR for ; Tue, 30 Jan 2024 06:57:21 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Received: from mailgate.Leidinger.net (mailgate.leidinger.net [IPv6:2a00:1828:2000:313::1: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-signature ECDSA (P-256) client-digest SHA256) (Client CN "mailgate.leidinger.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TPGFD3G5Kz4lqM for ; Tue, 30 Jan 2024 06:57:20 +0000 (UTC) (envelope-from Alexander@Leidinger.net) Authentication-Results: mx1.freebsd.org; none List-Id: Production branch of FreeBSD source code List-Archive: https://lists.freebsd.org/archives/freebsd-stable List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leidinger.net; s=outgoing-alex; t=1706597830; 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: in-reply-to:in-reply-to:references:references; bh=hWhaIPdlapZ6IGcXsETOp6x6PsuVJb8rZLHIPpwHFDQ=; b=XpslxBQJ4QqDXjmPga06i0Ycy5uhjmMqR1SO7vEjt8o55wvBTKB+G/tQ4Lxr1uhRnrVAfX MrtHTFAdIzFNQekzMzmJ5OEbIE47CMrf1gyxwBcmzPVhiIzdYXHBWgkwAkDG6bMQ9iveEZ AZAjVsgOgH9DC52C415mFiBoeHla6qkaH0zSGWIHjRcofjcqCFSJEyFxEcgyM/vyKVwkEE 3dd++G6eshgdZL3qsDPHieQaL76fGW2XrSITqm+DQUZUqNT5g2Zp0OIDzABYvp9OBxx+Bo 1QEdh/uSZFQncV1cE/MDdFpA4dUQaNOFkHzI3fZnzw0XtxXORyrhzbKyPd0XUg== Date: Tue, 30 Jan 2024 07:56:19 +0100 From: Alexander Leidinger To: Mark Millard Cc: david@catwhisker.org, FreeBSD-STABLE Mailing List Subject: Re: Should changes in src/usr.sbin/bhyve/ trigger an llvm rebuild? In-Reply-To: References: <5BCB8F1A-B5D5-4506-87E1-8B26E713C6F5@yahoo.com> <8A79DE24-403E-4E73-82B6-0E5CF4F27604@yahoo.com> <418237252dc000bc1cc21a7f9220a2e5@Leidinger.net> Message-ID: Organization: No organization, this is a private message. Content-Type: multipart/signed; protocol="application/pgp-signature"; boundary="=_06a3b702ae8806e5308eff9da71b5960"; micalg=pgp-sha256 X-Rspamd-Queue-Id: 4TPGFD3G5Kz4lqM X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:34240, ipnet:2a00:1828::/32, country:DE] This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --=_06a3b702ae8806e5308eff9da71b5960 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Am 2024-01-29 19:07, schrieb Mark Millard: > On Jan 29, 2024, at 01:50, Alexander Leidinger > wrote: > >> Am 2024-01-29 00:00, schrieb Mark Millard: >> >>> I would have to see make -dM output from (D) to >>> find the specific timing relationships that lead >>> to that. There is way to much to analyze the >>> specifics manually, especially because dependency >>> chains have to be considered. >> >> Not -stable, but -current > > Sequence going back to where a commit change was involved and > installed/booted? That older commit was what? The newer one? > The content of that change contributes to what range of "is > newer than" stuff shows up in the first buildworld after the > first installworld-then-reboot to the newer commit. The sequence was: - make update - make buildworld buildkernel - create new BE - make installworld installkernel into the new BE - boot the new BE - do nothing with src for some days - read your mail - make -Dm buildworld > A limiting case is doing a buildworld into an empty /usr/obj/ > like area so that its later install has everything freshly > built (new timestamps) compared to the prior context. Then > doing a installworld buildworld sequence may have more "is > newer than" notices. (Some cases of updates approximate > such a "largely rebuilt" status, others do not.) > > The list is illustrative as is, just possibly not definitive. > >> (no change to src, buildworld after installworld to a new BE and >> booting this new BE): >> # grep newer buildworld_debug.log | grep -E >> 'amd64.amd64/tmp/(usr|legacy)/' | cut -d : -f 3 | sort -u >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/include/roken.h' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/asn1_compile' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/awk' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/basename' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cap_mkdb' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cat' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/clang-tblgen' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/compile_et' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cp' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchgen' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchide' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/dd' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/env' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/file2c' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gencat' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/grep' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gzip' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/jot' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lex' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lldb-tblgen' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-min-tblgen' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-tblgen' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/ln' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/m4' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/make-roken' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkcsmapper' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkesdb' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mv' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/rm' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sed' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sh' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/touch' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/truncate' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uudecode' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uuencode' >> is newer than the target... >> file >> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/usr/bin/objcopy' >> is newer than the target... >> >> There is no dependency to outside the obj tree. >> >> Would it make sense to exclude the tmp/legacy/usr/sbin/... >> dependencies? Or a subset? The tmp/usr/bin/objcopy is probably in the >> middle of a rebuild, but the name legacy gives the impression that not >> a lot of features are needed from those (basics to build our own >> version?). >> >> Note, grep for "newer" gives >12000 hits. > > For awk, basename, cat, dd, env, grep, gzip, lex, ln, m4, mv, rm, > sed, sh, touch, truncate, uudecode, and uuenncode (for example): > > The "is newer than" status is both real and highly likely to be > irrelevant. META_MODE is based on just the "real" status of "is > newer than". > > There are other items in the list that I'd be less sure of if > they are likely to always be irrelevant. Possibly. The lldvm/lldb/clang ones may be related to a rebuild of llvm triggered by irrelevant time changes according to your description. I haven't found "is newer than" evidence in the debug output why those legacy ones are newer. If I assume those are touched by installworld, we could do maybe some kind of check if checksums are equal and not install into legacy if they are. This would then require more work on install, but may result in less work on buildworld. > As I remember, I did get example "is newer than" notices that > were not from /usr/obj/ like areas, not that I remember the > details any more. (So I could be misremembering.) Maybe in the installworld stage /usr/sbin/sh newer than OBJDIR/..../legacy/usr/sbin/sh? Bye, Alexander. -- http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF http://www.FreeBSD.org netchild@FreeBSD.org : PGP 0x8F31830F9F2772BF --=_06a3b702ae8806e5308eff9da71b5960 Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc; size=833 Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmW4naQACgkQEg2wmwP4 2Ibhww//cyFDQn5tL+oDQlzqaKlxLqWtQLgkZJgDOJKqlB4gIDkZu5Gi7pUheScw NIJQ+yDNYsZpEK5GwPR8WBRqELHTY6cr3342icP/H5ddR0K54M4tuZ4Zbfmgs65B i2wwOsaC7b/xepPvGijQQ8WdI7fsOODIFR6jLIkuNMdONX0FMU2v4EsARRkAt3Rg IxVZVEzsXo8BRvXoKxbYPCptGLrtNnPXKqjGzBv2CE7P2wPFTF2vf3zDcSYwUU2b TueqOPbKpgR1gen88m2Bz3W47UxIkMl8JPPjSsJrJ3lBdwLr8XTMoyKqiLUD0kVH iBDGifybl8CWRiQCoJdojipaTbNXcZt9PhJideietGFcr6YOTE89VJ+UIufJeMtz dxNwL9kNsvowiFbK5/U2nNlGrns1bzSw1qm6vo4pe3sOBfttE6r7LwfwaC0n+GFf Fws1sHLtU/vtsxZQ95haBYSpSDQa2zlvKemEY/XFCWuqqndO4PNxJpdC7W+GFDWr Ji8pTASRZLYWXWY+V8hBhzmma/f7EJoP0COwiOPJdiCwRNKHBOB0aIZx67moXOdB 4hcbSQzEL+TF7+0Z7dWP2uG2MO3P+7xCn86RU4akLXqg5BZhHxspH15BJ0PSVP6d qY69nAnB57pD1IUs0RBDDe/qvT7Eea5Ey2SvnnPcSE8YP/cFHW0= =anAV -----END PGP SIGNATURE----- --=_06a3b702ae8806e5308eff9da71b5960--