18518 Reduce taskq and context-switch cost of zio pipe
18519 zio can deadlock during device removal
Portions contributed by: George Wilson <george.wilson at delphix.com>
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Gordon Ross <gordon.w.ross at gmail.com>
Reviewed by: Matthew Ahrens <matt at mahrens.org>
Approved by: Dan McDonald <danmcd at oxide.computer>
NAS-144455 / 28.0.0-BETA.1 / Fix `test_options_may_only_be_changed_by_a_full_admin` (#20009)
This test has never worked on our CI ("Failing for the past 360 builds
since #364"). The reason is that it uses `unprivileged_user_client`,
which creates an unprivileged user, which creates its homedir, which
needs `tank` pool, which is not available yet.
`test_001_ssh.py` name is confusing - its related to testing SSH
connection to the TrueNAS, not to testing TrueNAS SSH server options.
Let's test SSH options later, when the system is ready.
[Inliner] Change CalleeTTI -> CallerTTI
It makes more sense to use the caller's TTI, as this way we can query
whether the instruction can be inlined into the parent function, using
state described by the caller's TTI.
For example, for AArch64 SME where a function can be in a different mode
(streaming/non-streaming), the cost-model gives different answers based
on the TTI used.
For now, we don't expect to see any changes in behaviour as there are
currently no targets where it makes different cost/inlining-decisions
based on which TTI is used.
[AArch64][llvm] Fix incorrect diagnostic (index/immediate in simm9)
Improve the error message in the simm9 diagnostics and use the word
'immediate' instead of 'index'. This was noticed when creating the
CFLT instructions for Armv9.8-A, but would have caused a lot of
unrelated churn if merged as part of that change.
Co-authored-by: Martin Wehking <martin.wehking at arm.com>
[AArch64][llvm] Improve diagnostics for invalid operands
Return `DiagnosticPredicate` from `isSImm()`, `isImmInRange()`, and
`isUImm12Offset()` so invalid operand types do not produce misleading
immediate range errors, while out-of-range constants retain their
range diagnostics.
Keep the load/store fallback predicate boolean and remove the
CFLT-specific diagnostic workaround. Update affected diagnostic
tests and add prefetch and CFLT regression testcases.
[SLP]Retry store groups rejected before a vectorized one
A vectorized store group changes the scalars that the earlier rejected
groups were analyzed, so these groups may become profitable.
Retry, after all groups are processed.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/231903
[AArch64][SME] NFC: Inline getCompatibilityForChangeToStreamingMode.
This removes the need for the `StreamingIncompatibility` enum and
makes the code a little simpler.
This PR also moves hasPossibleIncompatibleOps to AArch64TTIimpl,
so that we can query the costmodel in a follow-up PR.