Makefile.inc1: Make NO_INSTALLKERNEL less of a hack
Rather than adding a dummy entry which requires everyone to know to skip
it, introduce a new INSTALLEXTRAKERNELS which contains the set of
kernels to install as kernel.KERNCONF.
Reviewed by: ivy
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D54291
Merge commit faa5141b9be4 from file git (by Christos Zoulas):
PR/656: harry.sintonen: Fix bug in byte swapping that was caused by the change to make flags uint16_t and cont_level uint8_t.
This fixes using a magic.mgc built with a different endianness than
file(1) itself, e.g. when building powerpc64 on amd64.
PR: 292079
Fixes: ae316d1d1cff ("MFV: file 5.46.")
MFC after: 3 days
InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass
This should look more like the computeKnownFPClass handling, with knowledge
of demanded vector elements.
InstCombine: Fix defining undef constant vector elts in SimplifyDemandedFPClass
Fold constants of known single class to the original constant instead of
a new constant. This avoids overdefining vector elements that were originally
undefined with the splat constant.
NAS-139132 / 26.04 / When modifying iscsi global scst_direct setting ensure propagation (#17931)
In addition to the DB entry, we have a file that needs regeneration on
STANDBY too.
[SelectionDAG] Remove OPC_EmitStringInteger from isel. (#173936)
Instead emit this as an OPC_EmitInteger, but print the string
when the value is known to be 0..63 (when we don't need a VBR).
Also print the string into a comment when comments are not omitted
so it isn't lost when a VBR is needed.
[SLP]Mark and incompatible for 'xor %a, 0' operations
Xor with 0 is incompatible with and, which resulst in all zero instead
of %a
https://alive2.llvm.org/ce/z/oEVETS
Fixes #174041
NAS-139126 / 26.04 / optimize zfs/mount_events.py (#17927)
Still analyzing memory profile of middlewared and this one stuck out as
allocating a rather large amount of memory overtime. This makes sense
because:
1. we're reading entirety of mountinfo twice
2. we're then creating a new list of mountinfo via splitlines()
As an aside, there is no reason to use `os.seek` on the fd. Just use
`f.seek(0)`. It accomplishes the same.
This fixes all of these issues by iterating over the file line by line.
(not loading everything into memory) and only populating the 2x
dictionaries with zfs entries that we care about (instead of
everything).
NAS-139129 / 26.04 / Fix large memory allocations from 3rd party library (pystemd) (#17929)
I'm analyzing ALL THE MEMORY for middlewared and I found a maddening
chunk of allocations related to pystemd. Investigating shows that every
time we call `unit = self._get_systemd_unit`, it eventually ends up in
`lxml` land. That library causes nothing but grief and I've gone through
and removed it from our product for reasons that also apply here. (I
removed it years ago when we were still on freeBSD for same reasons).
This brings in, yet another, 3rd party dependency but this one is much
cleaner and can be reasoned about. It is pure python and has async
native methods for interacting with dbus.
This implements the necessary methods in pure async fashion so we can
remove the use of `pystemd.systemd1.Unit`.
NAS-139127 / 26.04 / remove unused python3-dbus (#17928)
Don't get the warm and fuzzies from this library even if we were using
it... this is from their docs
>dbus-python might not be the best D-Bus binding for you to use.
dbus-python does not follow the principle of “In the face of ambiguity,
refuse the temptation to guess”, and can’t be changed to not do so
without seriously breaking compatibility.
In addition, it uses libdbus (which has known problems with
multi-threaded use) and attempts to be main-loop-agnostic (which means
you have to select a suitable main loop for your application).
NAS-139131 / 26.04 / Update zfs_resilver_min_time_ms settings (#17930)
Upstream https://github.com/openzfs/zfs/pull/18060 changed the default
value from 3000 to 1500 to reduce resilver effects on payload writes.
Follow it in our code.
InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass
This should look more like the computeKnownFPClass handling, with knowledge
of demanded vector elements.
dev/pci/files.virtio: Note not to add more virtio drivers here.
virtio is not pci-specific and the drivers are not pci-specific so
they shouldn't be in a pci-specific place.