[Clang][docs] Tweaks entries for recent DRs (#189187)
1. According to WG21 N5031, P3868R1 is also a DR.
2. Consistently add one space between the link and `(`.
3. Show the "Yes" status in a green cell (`class="full"`).
[LoopUtils] Return 0 for estimated zero trip count loops. (#217330)
getLoopEstimatedTripCount previously returned std::nullopt for loops
with estimated tip counts of zero. This was historically due to some
callers expecting trip counts > 0.
After auditing all callers, it looks like only one call in LoopVectorize
cannot handle zero trip counts (would lead to divide by 0). Updating the
code there to explicitly check for 0 allows us to update
getEstimatedTripCount to return 0 instead of std::nullopt.
This allows us to properly preserve branch weights in the remainder
loops when vectorizing the loop, for cases where the remainder does not
execute per the estimate via updateLoopMetadataAndProfileInfo.
This fixes ~120 prof-check failures in the LoopVectorizer tests.
PR: https://github.com/llvm/llvm-project/pull/217330
databases/sq: Update to 0.54.1
Upstream added a DuckDB driver, whose Go bindings ship prebuilt static
libraries only for darwin, linux and windows. Build with the
duckdb_use_lib tag so that the bindings link against the system
libduckdb instead.
databases/duckdb: Do not pull in dependencies of unselected extensions
The extension loop adds each extension's library dependencies with
LIB_DEPENDS+=${PORT_OPTIONS:M${opt}:?${${opt}_LIB_DEPENDS}:}
The intent is "if this extension's option is selected, append its
<OPT>_LIB_DEPENDS", mirroring the two lines above it. Those work because
${PORT_OPTIONS:M${opt}:S/...} is empty-in-empty-out, but :? does not
behave the same way: per make(1), it evaluates the variable *name* -- not
the value the preceding modifiers produced -- as a conditional
expression. The condition here is therefore the bare word PORT_OPTIONS,
which is always true, so the true branch is always taken:
PORT_OPTIONS=FOO BAR
${PORT_OPTIONS:MAWS} -> ""
${PORT_OPTIONS:MAWS:?${AWS_LIB_DEPENDS}:} -> libaws.so:devel/aws
As a result AVRO_LIB_DEPENDS (avro-c, jansson, snappy), AWS_LIB_DEPENDS
[13 lines not shown]
*/*: depends of devel/talloc244
Update dependency of devel/tevent017 to use devel/talloc244 instead
of devel/talloc243 since these version of samba can support it.
Update Mk/Uses/samba.mk for relecting such changes.
PR: 294595
Reported by: Jordan Ostref, ml at netfence.it
Reviewed by: kiwi
Approved by: samba (kiwi)
Sponsored by: Klara, Inc.
mvc: add JsonAuditField and implement in firewall (#10726)
Adds a reusable audit field type for model records. Models can opt in with a single JsonAuditField, while ApiMutableModelControllerBase manages some of the created and updated information.
The audit data is stored as JSON so it can be extended later without adding more model fields.
An additionally user supplied note field can store why an item has been changed.
A migration moves legacy created/updated into the new JSON fieldtype.
---------
Co-authored-by: Ad Schellevis <ad at opnsense.org>
[Clang] Fix C++26 fold expression normalization of PackIndexingExpr (#218577)
It turns out that PackIndexingExpr doesn't create any PackExpansionTypes
for unexpanded packs and thus we don't have to remove the packs during
the normalization.
This also reverts the previous attempt f3fd5b2dd9 that doesn't
completely solve the problem.
Fixes #218548
e1000: Avoid signed shifts while assembling PHY IDs
PHY identifier words are promoted to signed int when the cast is applied
after the shift. Cast each 16-bit register value first so identifiers
with their high bit set are assembled as unsigned data.
(cherry picked from commit 13a7470096567480676e24545b3c1d6404f3f2ec)
e1000: Avoid a signed manageability VLAN bitmap shift
A manageability VLAN can select bit 31 of its VFTA register. Use an
unsigned value when constructing the register mask.
(cherry picked from commit 392fbdcf2232f12cb973d00ae931740c72d970c6)
e1000: Verify i210 and i211 multicast table writes
The i210 and i211 can occasionally fail to accept multicast table
writes, particularly while addresses are added and removed rapidly.
Read the table back and rewrite mismatches for up to three passes.
This prevents multicast reception from retaining stale filter state
while keeping the workaround limited to the affected controllers.
(cherry picked from commit bb8d0944b5d53863f00492b69b7bf13d2618fc95)
e1000: Avoid a signed multicast bitmap shift
The multicast hash bit can be 31. Use an unsigned value so setting the
bit cannot shift a signed integer into its sign bit.
(cherry picked from commit a86d65b2c99bab3fe46389b3b51ad27956dccfe9)
e1000: fix data type in MAC hash
DPDK commit message
net/e1000/base: fix data type in MAC hash
One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (458734aaac)
(cherry picked from commit a09034d561cbb3792ecc0146b41d4794ab3bda37)
e1000: fix MAC address hash bit shift
DPDK commit message
net/e1000/base: fix MAC address hash bit shift
In e1000_hash_mc_addr_generic() the expression:
"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"
shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
[5 lines not shown]
e1000: fix reset for 82580
DPDK commit message
net/e1000/base: fix reset for 82580
Fix setting device reset status bit in e1000_reset_hw_82580() function
for 82580 by first reading the register value, and then setting the
device reset bit.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Barbara Skobiej <barbara.skobiej at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (88a1eb79ef)
(cherry picked from commit 53e4711616041a668ab61f2ce86c9fa139ab67a9)
e1000: add LPI counters
DPDK commit message
net/e1000/base: add LPI counters
Add new fields in structure to indicate if EEE LPI entries have been
observed on Tx and Rx path.
Signed-off-by: Sasha Neftin <sasha.neftin at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (2e8078ee69)
(cherry picked from commit d1c20195c0fae27b6b1d526c03d8844f200e5c86)
e1000: Export EEE Low Power Idle counters
Accumulate the clear-on-read transmit and receive LPI event counters
on EEE capable PCH and I350 family devices. Expose the 64-bit totals
under the per-device eee sysctl node.
(cherry picked from commit eff55e5e098b85855335d8df151787b6b034973f)
e1000: fix unchecked return
DPDK commit message
net/e1000/base: fix unchecked return
Static analysis has detected a write that is not checked for errors,
leading to ignored error return value. Add a check.
Fixes: edcdb3c5f71b ("e1000/base: fix link flap on 82579")
Cc: stable at dpdk.org
Signed-off-by: Dima Ruinskiy <dima.ruinskiy at intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov at intel.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
Obtained from: DPDK (b0b6b50c20)
(cherry picked from commit c80aface0f4662c7dc46eed3fbb27b64ab931500)
e1000: Check PHY control register reads
Do not modify a zero-initialized PHY control value when its preceding
read failed.
(cherry picked from commit c276a80a4e52c065ed631e498ed2c3d284b45c75)
e1000: Compare decoded PCH LTR latencies
The LTR encoding combines a value and a nonlinear scale, so encoded
values cannot be compared directly. Decode both the device latency and
the platform maximum before deciding whether to clamp the request.
(cherry picked from commit 6058dfa40238e2cd6ac6f2377986fdff99d14686)
e1000: Allow more time for PCH ULP exit
Firmware may take up to one second to unconfigure ULP, and affected
Lenovo systems have required nearly two seconds. Allow 2.5 seconds
before treating the transition as a PHY failure.
This extends DPDK commit 7aa4c34581a5 using the field-tested bound
from Linux commit 3cf31b1a9eff.
(cherry picked from commit e49cb7f757f6db8976b0d247e6a897eab5867634)
e1000: Reconfigure modern PCH K1 clock synchronization
Meteor Lake and newer PCH generations can lose packets while the MAC
and PHY clocks synchronize. Move K1 power-down to P1 and extend the
PHY K1 exit timeout before PHY access and after reset.
Use the longer 1 Gb/s PLL clock-gate timeout added by Linux so K1 can
remain enabled without the power penalty of disabling it. Apply the
workaround through the newer PTP and NVP generations.
This follows DPDK commits ba54bdc79d94 and d88ef2356ecc, with the
longer exit time observed in Linux 578294b8b60d.
(cherry picked from commit 17d90d5b9350239a87e66a3612cb9b084b2d75e9)
e1000: Retry transient MDIC failures on modern PCH
Some Meteor Lake and newer systems sporadically fail an MDIC PHY
transaction while the MAC and PHY clocks synchronize. Retry twice
before reporting the transaction failure.
Disable retries around PHY interface transitions where an MDI error
is expected. Preserve and restore the configured retry count on every
exit from those flows.
This follows DPDK commit bdca22d62ff0, extended to the PTP and NVP PCH
types.
(cherry picked from commit df34ccfc913d6635e957c685d7452a05911eab89)
e1000: fix semaphore timeout value
DPDK commit message
net/e1000/base: fix semaphore timeout value
According to datasheet, software ownership of SWSM.SWESMBI bit should
not exceed 100ms. Current implementation caused incorrect timeout
counter values, where each iteration equals 50us delay. Because of that
driver was allowed to wait for semaphore even for 1.5s. This might
trigger DPC timeout.
This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.
Fixes: af75078fece3 ("first public release")
Cc: stable at dpdk.org
Signed-off-by: Pawel Malinowski <pawel.malinowski at intel.com>
[6 lines not shown]
e1000: Separate hardware semaphore policies by family
The shared semaphore helper accesses both the 82571 retry counter and
the I210 one-time-clear flag. Those fields occupy overlapping members
of the device-specific union. On 82571, incrementing the counter thus
enables the I210 recovery and clears SMBI after the first timeout.
Give 82571, generic 80003/82575, and I210/I211 users distinct acquire
paths. Preserve the legacy peer-driver policy on 82571 and one-time
recovery on I210.
The separation follows the Intel e1000 base code in DPDK.
(cherry picked from commit 26251926892585e0746c2b65227e56cf9b2fed58)