Introduce an adjout_attr object that decouples some of the common data
from the prefix_adjout. This helps to reduce the memory footprint by
around 20% in large IXP setups.
The size of struct prefix_adjout is critical since we allocate very many
of those. e.g. 250k prefixes * 750 peer = 187mio objects. Every byte saved
makes a big difference.
OK tb@
espeak: work around build failure on !lld archs, ok sthen
audio/espeak doesn't build on sparc64 due to what looks like a bug
in either base libtool or ld.bfd. libtool eats -L options for the
ld.so search directories in the ldconfig -r output, which then causes
linking failures. Work around this by switching to GNU libtool on the
affected architectures.
/usr/bin/libtool --tag=CXX --mode=link c++ -O2 -pipe -static -lm -lpcaudio -L/usr/local/lib -L/usr/X11R6/lib -o src/speak-ng src/speak-ng.o src/libespeak-ng.la
...
libtool: link: c++ -o src/.libs/speak-ng -pthread -O2 -pipe src/speak-ng.o -Lsrc/.libs -lm -lpcaudio -lpulse-simple -lpulse -logg -lvorbis -lpthread -liconv /usr/obj/ports/espeak-1.52.0/espeak-ng-1.52.0/src/.libs/libespeak-ng.a -Wl,-rpath-link,/usr/local/lib
[...]
/usr/bin/ld: warning: libxcb.so.4.1, needed by src/.libs/libpcaudio.so.0.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libXau.so.10.0, needed by src/.libs/libpcaudio.so.0.1, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libXdmcp.so.11.0, needed by src/.libs/libpcaudio.so.0.1, not found (try using -rpath or -rpath-link)
/usr/local/lib/pulseaudio/libpulsecommon-17.0.so: undefined reference to `xcb_intern_atom_reply'
/usr/local/lib/pulseaudio/libpulsecommon-17.0.so: undefined reference to `xcb_disconnect'
...
Error while executing c++ -o src/.libs/speak-ng -pthread -O2 -pipe src/speak-ng.o -Lsrc/.libs -lm -lpcaudio -lpulse-simple -lpulse -logg -lvorbis -lpthread -liconv /usr/obj/ports/espeak-1.52.0/espeak-ng-1.52.0/src/.libs/libespeak-ng.a -Wl,-rpath-link,/usr/local/lib
[2 lines not shown]
Add a get-clipboard option which when enabled (the default is off) uses
the same mechanism as palette requests to request clipboard from the
terminal and forward to the requesting pane. Remove the now-redundant
forward-to-pane ability from "refresh-client -l". GitHub issue 4275.
rpki-client: convert mft.c to opaque ASN1_STRING
Mostly more of the same. In addition the comparison functions can use
ASN1_STRING_cmp() instead of doing most of it by hand. The additional
type check this introduces is fine since the ASN.1 template ensures
that. Annotate a spot where we fail to ensure that the unused bits
octet is zero, thus libcrypto's misdesign introduces a few bits of
malleability for every hash that ends in zero bits. This will be easier
to fix later.
ok claudio
use per cpu refs in the input path instead of one refcnt per port.
passing packets into tpmr relies on taking a ref from an smr critical
section so the tprm_port struct can be used while interacting with
the larger network stack because you can't sleep while in an smr
critical section and the network stack has sleeping points.
this is fine, but it's atomic ops against the same refcnt in the
one tpmr_port struct that can be running in parallel on all the
softnet threads. this means the cacheline under this refcnt gets
pulled around a lot, which in turn affects performance.
to compensate for this loss in performance, this diff adds per cpu
refcnts that act as a proxy to the tpmr_port refcnt. this effectively
hashes the softnet threads into individual refcnts on separate cache
lines.
unfortunately, softnet threads can move between cpus because the
network stack has sleeping points. this prevents us from using the
[12 lines not shown]
use per cpu refs in the input path instead of one refcnt per port.
passing packets into veb relies on taking a ref from an smr critical
section so the veb_port struct can be used while interacting with
the larger network stack because you can't sleep while in an smr
critical section and the network stack has sleeping points.
this is fine, but it's atomic ops against the same refcnt in the
one veb_port struct that can be running in parallel on all the
softnet threads. this means the cacheline under this refcnt gets
pulled around a lot, which in turn affects performance.
to compensate for this loss in performance, this diff adds per cpu
refcnts that act as a proxy to the veb_port refcnt. this effectively
hashes the softnet threads into individual refcnts on separate
cache lines.
unfortunately, softnet threads can move between cpus because the
network stack has sleeping points. this prevents us from using the
[12 lines not shown]
use per cpu refs in the input path instead of one refcnt per port.
previously aggr (and trunk) would swap the if_input handler on their
port interfaces to intercept packets and make them appear to be
received by aggr, but this relied on the net lock to coordinate and
ensure the references to everything were safe. making aggr safe to
call without the netlock meant using refcnts to ensure the aggr_port
struct would stay alive while it's being used, but this means a
couple of atomic operations were added to every packet going through
aggr.
this is fine, but it's atomic ops against the same refcnt in the
one aggr_port struct that can be running in parallel on all the
softnet threads. this means the cacheline under this refcnt gets
pulled around a lot, which in turn affects performance.
to compensate for this loss in performance, this diff adds per cpu
refcnts that act as a proxy to the aggr_port refcnt. this effectively
hashes the softnet threads into individual refcnts on separate
[11 lines not shown]
let the ether_port ref api have the caller carry local state for the port
this means ether_input will have a value on the stack that the port
drivers can use to keep track of a reference with, rather than
having to rely on implicit state (eg, which cpu they're running on)
which can change (eg, maybe there's rwlocks in the network stack).
Remove redundant program name logging in vmd(8).
The log.c init function already configures __progname as a default
log message prefix. No need to include it explicitly anymore.
ok mlarkin@
drm/amd/display: Prevent Gating DTBCLK before It Is Properly Latched
From Fangzhi Zuo
53ca559992e6837643ca12ff33c2eea9af225ad9 in linux-6.12.y/6.12.60
cfa0904a35fd0231f4d05da0190f0a22ed881cce in mainline linux
drm/amd/display: Insert dccg log for easy debug
From Charlene Liu
25dcf6299dc963d4a884308ded68681b68d9e9e1 in linux-6.12.y/6.12.60
35bcc9168f3ce6416cbf3f776758be0937f84cb3 in mainline linux
drm/amd/display: disable DPP RCG before DPP CLK enable
From Charlene Liu
b1515304a5234c787cb8cf1bd96567c3548d283c in linux-6.12.y/6.12.60
1bcd679209420305a86833bc357d50021909edaf in mainline linux
drm/amd/display: avoid reset DTBCLK at clock init
From Charlene Liu
467904aabbfd761c475e9408f081d5476c0773c5 in linux-6.12.y/6.12.60
0ae47e971b9add8f7b8f8d55ac5f407f6f346758 in mainline linux
drm/i915/dp_mst: Disable Panel Replay
From Imre Deak
3e5271f22404bea97a39b02b188f05e040a02cb8 in linux-6.12.y/6.12.60
f2687d3cc9f905505d7b510c50970176115066a2 in mainline linux
drm/amdgpu: fix gpu page fault after hibernation on PF passthrough
From Samuel Zhang
a45d6359eefb41e08d374a3260b10bff5626823b in linux-6.12.y/6.12.60
eb6e7f520d6efa4d4ebf1671455abe4a681f7a05 in mainline linux
drm/amd/display: Clear the CUR_ENABLE register on DCN20 on DPP5
From Ivan Lipski
a077ec70561b0dce1863bea00a52c81a2ca6f147 in linux-6.12.y/6.12.60
5bab4c89390f32b2f491f49a151948cd226dd909 in mainline linux
drm/amd/display: Fix pbn to kbps Conversion
From Fangzhi Zuo
ded77c1209169bd40996caf5c5dfe1a228a587ab in linux-6.12.y/6.12.60
1788ef30725da53face7e311cdf62ad65fababcd in mainline linux
drm/amd/display: Move sleep into each retry for retrieve_link_cap()
From Mario Limonciello
a45450c36e3a568b8c20f4bd1e0bbb2507146a6d in linux-6.12.y/6.12.60
71ad9054c1f241be63f9d11df8cbd0aa0352fe16 in mainline linux
drm/amd/display: Increase DPCD read retries
From Mario Limonciello
cd145ed8c56f04bb13f3a18bfe57924beaad17a3 in linux-6.12.y/6.12.60
8612badc331bcab2068baefa69e1458085ed89e3 in mainline linux
drm/amdgpu: Skip emit de meta data on gfx11 with rs64 enabled
From Yifan Zha
806f54a7598825570a89b6fba1033b40e49a8792 in linux-6.12.y/6.12.60
80d8a9ad1587b64c545d515ab6cb7ecb9908e1b3 in mainline linux
drm/amd: Skip power ungate during suspend for VPE
From Mario Limonciello
349238d296fc30d9b593cc6640033d5103e395fb in linux-6.12.y/6.12.60
31ab31433c9bd2f255c48dc6cb9a99845c58b1e4 in mainline linux
drm/radeon: delete radeon_fence_process in is_signaled, no deadlock
From Robert McClinton
73bc12d6a547f9571ce4393acfd73c004e2df9e5 in linux-6.12.y/6.12.60
9eb00b5f5697bd56baa3222c7a1426fa15bacfb5 in mainline linux