The prplWare 4.2.0 RAM-optimization programme lives on proj_prplware-v4.2.0_optimizations
branches cut from mainline-24.10 @ 69c998a2fab3.
It re-pins 103 components across three feeds to optimization tags, plus
integration-level changes in prplos/prplos (feed pins, gmap MIB compile-time flags,
CRAM expectations). Since then the release train moved on and latest-24.10 drifted by
1,221 commits. This dashboard measures, per component, the
optimization diff, the mainline drift, and their file-level overlap — the raw material for a
forward-port effort estimate.
T-shirt rollup (non-ported): 50 S · 27 M · 18 L · 5 XL heuristics ↓
The optimization branch is not a single technique but a programme: every resident daemon and library was re-pinned to an optimization tag carrying its own changes. Mining the 1,274 commit subjects across all component opt diffs, the recurring patterns are (a commit can match several themes):
At the integration level (prplos/prplos), the optimization branch disables the
gmap MIB features INFORMATION, LOCATION, PRIORITY and
WAN-ACCESS via CONFIG_SAH_SERVICES_GMAP-MIBS-COMMON_*=n in the touched
profiles, re-pins all three feeds, and updates CRAM test expectations to the optimized behaviour
— see the forward-port checklist.
| Component | Feed | Base → Opt | Opt commits | Files | ± lines | Current | Drift | Overlap | Ported | Risk | Size | Compare |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| libamxd | feed_amx | v6.9.1 → sah-next_v6.15.3 | 101 | 67 | +3,257 −526 | v6.11.1 | 2 | 15 | no | HIGH | L | opt diff · drift · repo |
| libamxc | feed_amx | v2.5.3 → sah-next_v2.10.3 | 63 | 69 | +3,418 −143 | v2.7.1 | 3 | 18 | partial (63 missing) | HIGH | L | opt diff · drift · repo |
| tr181-dynamicdns | feed-prplos | v1.8.0 → opt_v0.2.0 | 13 | 50 | +2,499 −270 | v1.11.0 | 1 | 5 | no | HIGH | L | opt diff · drift · repo |
| libamxb | feed_amx | v4.15.0 → sah-next_v4.22.1 | 184 | 229 | +2,667 −34 | v4.17.0 | 10 | 14 | no | HIGH | XL | opt diff · drift · repo |
| libamxo | feed_amx | v5.5.1 → sah-next_v5.10.1 | 64 | 59 | +2,293 −134 | v5.7.1 | 3 | 14 | no | HIGH | L | opt diff · drift · repo |
| prplmesh | feed-prplmesh | 7d5427c444d0 → 84138e0ff0ff | 57 | 86 | +1,950 −415 | 8ceef1b0f70a | 261 | 86 | partial (2 missing) | HIGH | XL | opt diff · drift · repo |
| tr181-firewall | feed-prplos | v8.16.0 → opt_v0.2.0 | 13 | 71 | +919 −1,406 | v8.18.1 | 7 | 18 | no | HIGH | XL | opt diff · drift · repo |
| libamxa | feed_amx | v0.11.8 → sah-next_v0.14.0 | 35 | 68 | +1,708 −528 | v0.12.1 | 7 | 7 | no | HIGH | L | opt diff · drift · repo |
| tr181-qos | feed-prplos | v4.12.0 → opt_v0.2.0 | 24 | 45 | +1,363 −358 | v4.15.1 | 6 | 27 | no | HIGH | L | opt diff · drift · repo |
| tr181-dns | feed-prplos | v3.8.1 → opt_v0.1.0 | 23 | 50 | +1,506 −162 | v3.12.0 | 6 | 36 | no | HIGH | L | opt diff · drift · repo |
| amxo-cg | feed_amx | v1.8.0 → sah-next_v1.8.3 | 45 | 31 | +1,189 −73 | v1.11.1 | 6 | 6 | partial (45 missing) | HIGH | L | opt diff · drift · repo |
| libfwrules | feed-prplos | v2.11.1 → opt_v0.1.0 | 6 | 12 | +1,022 −19 | v2.13.1 | 1 | 11 | no | HIGH | L | opt diff · drift · repo |
| mod-dns-unbound | feed-prplos | v1.9.2 → opt_v0.1.0 | 2 | 16 | +678 −126 | v1.12.0 | 2 | 16 | no | HIGH | L | opt diff · drift · repo |
| amxrt | feed_amx | v2.4.0 → sah-next_v2.3.2 | 22 | 8 | +339 −9 | v2.6.1 | 4 | 3 | no | HIGH | M | opt diff · drift · repo |
| mod-netmodel | feed-prplos | v0.5.5 → opt_v0.1.0 | 6 | 12 | +179 −85 | v0.8.0 | 4 | 6 | partial (4 missing) | HIGH | M | opt diff · drift · repo |
| libqosmodule | feed-prplos | v1.0.1 → opt_v0.1.0 | 6 | 10 | +76 −109 | v1.2.1 | 6 | 10 | partial (6 missing) | HIGH | L | opt diff · drift · repo |
| mod-dmext | feed-prplos | v0.13.1 → opt_v0.1.0 | 3 | 10 | +66 −79 | v0.15.2 | 4 | 4 | no | HIGH | M | opt diff · drift · repo |
| libamxt | feed_amx | v1.0.2 → sah-next_v1.0.10 | 20 | 7 | +107 −7 | v1.2.0 | 2 | 3 | no | HIGH | M | opt diff · drift · repo |
| ethernet-manager | feed-prplos | v1.31.1 → opt_v0.1.0 | 1 | 7 | +52 −56 | v1.37.0 | 26 | 6 | no | HIGH | L | opt diff · drift · repo |
| ip-manager | feed-prplos | v1.52.0 → opt_v0.1.0 | 1 | 11 | +40 −41 | v1.57.1 | 10 | 8 | no | HIGH | L | opt diff · drift · repo |
| tr181-bulkdata | feed-prplos | v0.5.0 → opt_v0.1.0 | 1 | 9 | +39 −36 | v0.9.0 | 7 | 4 | no | HIGH | M | opt diff · drift · repo |
| tr069-manager | feed-prplos | v1.40.1 → opt_v0.1.1 | 3 | 6 | +33 −20 | v1.45.1 | 13 | 4 | no | HIGH | M | opt diff · drift · repo |
| deviceinfo-manager | feed-prplos | v2.38.9 → opt_v0.1.0 | 1 | 10 | +26 −18 | v2.43.2 | 24 | 3 | no | HIGH | M | opt diff · drift · repo |
| tr181-sfp | feed-prplos | v0.5.1 → opt_v0.1.0 | 1 | 5 | +9 −25 | v0.9.0 | 48 | 5 | no | HIGH | L | opt diff · drift · repo |
| tr181-dhcpv6client | feed-prplos | v1.14.0 → opt_v0.1.0 | 1 | 3 | +13 −15 | v1.18.0 | 3 | 1 | no | HIGH | S | opt diff · drift · repo |
| amx-processmonitor | feed-prplos | v0.5.1 → opt_v0.1.0 | 1 | 1 | +9 −9 | v0.8.2 | 4 | 1 | no | HIGH | S | opt diff · drift · repo |
| reboot-service | feed-prplos | v1.3.0 → opt_v0.1.0 | 1 | 2 | +7 −11 | v1.5.3 | 11 | 2 | no | HIGH | M | opt diff · drift · repo |
| mod-pcm-svc | feed-prplos | v0.15.4 → opt_v0.1.0 | 2 | 3 | +5 −7 | v0.18.1 | 15 | 3 | no | HIGH | M | opt diff · drift · repo |
| netmodel-cellular | feed-prplos | v0.2.0 → opt_v0.1.0 | 2 | 3 | +4 −4 | v0.5.0 | 5 | 3 | no | HIGH | S | opt diff · drift · repo |
| pcm-manager | feed-prplos | v0.22.0 → opt_v0.1.0 | 1 | 2 | +3 −4 | v0.25.0 | 3 | 1 | no | HIGH | S | opt diff · drift · repo |
| pwhm | feed-prplmesh | v7.19.0 → opt_v0.1.0 | 1 | 1 | +1 −2 | v7.29.3 | 184 | 1 | no | HIGH | L | opt diff · drift · repo |
| libsahtrace † | feed_amx | v1.15.0 → sah-next-4.2_v0.1.1 | — | — | — | v1.15.0 | 0 | 0 | ? | HIGH | XL | repo |
| mod-amxb-pcb † | feed_amx | — → sah-next_v3.17.3 | — | — | — | — | — | 0 | ? | HIGH | XL | repo |
| gmap-server | feed-prplos | v3.3.0 → opt_v0.3.0 | 106 | 228 | +3,305 −978 | v3.6.0 | 1 | 4 | no | MED | L | opt diff · drift · repo |
| lua-amx | feed_amx | v0.7.1 → sah-next_v0.7.2 | 30 | 60 | +2,416 −1,367 | v0.9.1 | 3 | 2 | no | MED | L | opt diff · drift · repo |
| hosts-manager | feed-prplos | v0.13.0 → opt_v0.2.0 | 40 | 47 | +1,977 −294 | v0.16.0 | 4 | 2 | no | MED | M | opt diff · drift · repo |
| gmap-mod-ethernet-dev | feed-prplos | v1.22.0 → opt_v0.1.0 | 14 | 38 | +673 −829 | v1.22.1 | 2 | 3 | no | MED | M | opt diff · drift · repo |
| netmodel | feed-prplos | v2.23.1 → opt_v0.1.0 | 8 | 19 | +763 −55 | v2.26.0 | 1 | 0 | no | MED | S | opt diff · drift · repo |
| libamxj | feed_amx | v1.0.4 → sah-next_v1.1.4 | 23 | 13 | +381 −21 | v1.2.1 | 7 | 3 | no | MED | M | opt diff · drift · repo |
| amx-cli | feed_amx | v0.5.4 → sah-next_v0.5.8 | 14 | 16 | +172 −73 | v0.6.0 | 7 | 3 | no | MED | M | opt diff · drift · repo |
| tr181-ppp | feed-prplos | v0.19.0 → opt_v0.1.1 | 2 | 9 | +98 −73 | v0.23.0 | 2 | 1 | no | MED | M | opt diff · drift · repo |
| tr181-usermanagement | feed-prplos | v0.28.0 → opt_v0.1.0 | 1 | 8 | +64 −64 | v0.31.1 | 2 | 0 | no | MED | S | opt diff · drift · repo |
| tr181-syslog | feed-prplos | v1.13.0 → opt_v0.1.0 | 1 | 8 | +39 −41 | v1.16.0 | 3 | 0 | no | MED | S | opt diff · drift · repo |
| multisettings | feed-prplos | v0.14.1 → opt_v0.1.0 | 1 | 8 | +37 −37 | v0.17.0 | 1 | 0 | no | MED | S | opt diff · drift · repo |
| dhcpv4-manager | feed-prplos | v2.18.1 → opt_v0.1.0 | 1 | 6 | +39 −30 | v2.32.2 | 8 | 0 | no | MED | M | opt diff · drift · repo |
| tr181-routeradvertisement | feed-prplos | v0.23.0 → opt_v0.1.0 | 1 | 4 | +23 −25 | v0.27.1 | 3 | 1 | no | MED | S | opt diff · drift · repo |
| tr181-cpu | feed-prplos | v0.1.0 → opt_v0.1.0 | 1 | 4 | +25 −21 | v0.3.1 | 3 | 1 | no | MED | S | opt diff · drift · repo |
| wan-manager | feed-prplos | v1.10.11 → opt_v0.1.0 | 2 | 7 | +19 −16 | v1.13.0 | 41 | 2 | no | MED | L | opt diff · drift · repo |
| time-manager | feed-prplos | v2.9.0 → opt_v0.1.0 | 1 | 6 | +17 −13 | v2.11.1 | 3 | 0 | no | MED | S | opt diff · drift · repo |
| dhcpv6s-manager | feed-prplos | v0.26.0 → opt_v0.1.0 | 1 | 4 | +8 −9 | v0.30.2 | 6 | 1 | no | MED | M | opt diff · drift · repo |
| mod-amxb-ubus † | feed_amx | v3.11.0 → sah-next_v3.8.20 | 42 | 57 | +4,426 −53 | v3.11.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| gmap-mibs-common † | feed-prplos | v0.24.7 → opt_v0.3.0 | 17 | 40 | +1,389 −1,840 | v0.24.7 | 0 | 0 | no | LOW | M | opt diff · repo |
| mod-ba-cli † | feed_amx | v0.17.0 → sah-next_v0.21.0 | 51 | 55 | +2,693 −157 | v0.17.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| libamxp † | feed_amx | v2.10.0 → sah-next_v2.13.0 | 68 | 51 | +2,497 −249 | v2.10.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| libamxs † | feed_amx | v0.9.0 → sah-next_v1.0.2 | 32 | 30 | +1,877 −156 | v0.9.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| libgmap-client † | feed-prplos | v2.3.0 → opt_v0.1.0 | 9 | 45 | +654 −857 | v2.3.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| acl-manager † | feed_amx | v0.10.0 → sah-next-4.1_v0.4.0 | 17 | 33 | +1,166 −129 | v0.10.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| amx-fcgi † | feed_amx | v1.6.0 → sah-next_v1.5.0 | 26 | 24 | +923 −91 | v1.6.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| libnetmodel † | feed-prplos | v1.5.19 → opt_v0.1.1 | 16 | 17 | +614 −83 | v1.5.19 | 0 | 0 | no | LOW | S | opt diff · repo |
| gmap-mod-self † | feed-prplos | v1.9.0 → opt_v0.1.0 | 11 | 26 | +403 −222 | v1.9.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| netmodel-netdev † | feed-prplos | v1.0.4 → opt_v0.1.1 | 11 | 10 | +375 −128 | v1.0.4 | 0 | 0 | no | LOW | S | opt diff · repo |
| libamxrt † | feed_amx | v0.8.0 → sah-next_v0.9.1 | 34 | 25 | +453 −33 | v0.8.0 | 0 | 0 | no | LOW | M | opt diff · repo |
| gmap-client † | feed-prplos | v1.4.0 → opt_v0.1.0 | 3 | 13 | +29 −363 | v1.4.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| libfiletransfer † | feed-prplos | v1.7.0 → opt_v0.1.0 | 7 | 11 | +359 −17 | v1.7.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| amx-faultmonitor † | feed-prplos | v1.4.0 → opt_v0.1.1 | 3 | 4 | +111 −102 | v1.4.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| libqoscommon † | feed-prplos | v0.4.1 → opt_v0.1.0 | 7 | 12 | +102 −102 | v0.4.1 | 0 | 0 | no | LOW | S | opt diff · repo |
| libqosnode † | feed-prplos | v1.4.2 → opt_v0.1.0 | 7 | 11 | +88 −84 | v1.4.2 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-dhcpv4client | feed-prplos | v1.30.1 → opt_v0.1.1 | 2 | 5 | +102 −51 | v1.33.1 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-bridging | feed-prplos | v2.13.0 → opt_v0.1.0 | 1 | 5 | +54 −44 | v2.16.0 | 6 | 0 | no | LOW | S | opt diff · drift · repo |
| mod-busstats † | feed_amx | v0.3.0 → sah-next_v0.2.5 | 5 | 9 | +69 −25 | v0.3.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| netmodel-bridge † | feed-prplos | v1.0.5 → opt_v0.1.0 | 2 | 6 | +73 −9 | v1.0.5 | 0 | 0 | no | LOW | S | opt diff · repo |
| netmodel-clients † | feed-prplos | v0.3.0 → opt_v0.1.0 | 3 | 6 | +42 −7 | v0.3.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| oopsmonitor † | feed-prplos | v1.3.0 → opt_v0.1.1 | 2 | 3 | +28 −16 | v1.3.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-security | feed-prplos | v0.10.0 → opt_v0.1.0 | 1 | 2 | +9 −21 | v0.14.0 | 8 | 0 | no | LOW | S | opt diff · drift · repo |
| libamxm † | feed_amx | v0.1.1 → sah-next_v0.1.2 | 5 | 5 | +25 −3 | v0.1.1 | 0 | 0 | no | LOW | S | opt diff · repo |
| moca-manager | feed-prplos | v0.8.2 → opt_v0.1.0 | 1 | 4 | +13 −10 | v0.11.0 | 1 | 0 | no | LOW | S | opt diff · drift · repo |
| mod-lua-amx † | feed_amx | v0.1.11 → sah-next_v0.1.12 | 3 | 5 | +19 −4 | v0.1.11 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-periodicfileupload | feed-prplos | v0.4.0 → opt_v0.1.0 | 1 | 2 | +10 −10 | v0.7.0 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| mod-fw-host † | feed-prplos | v0.1.4 → opt_v0.1.0 | 2 | 3 | +9 −9 | v0.1.4 | 0 | 0 | no | LOW | S | opt diff · repo |
| mod-logical-api | feed-prplos | v0.9.0 → opt_v0.1.0 | 1 | 4 | +9 −9 | v0.11.1 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| packet-interception † | feed-prplos | v0.6.0 → opt_v0.1.0 | 1 | 3 | +5 −12 | v0.6.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| libamxtui † | feed_amx | v0.1.7 → sah-next_v0.1.8 | 3 | 3 | +10 −5 | v0.1.7 | 0 | 0 | no | LOW | S | opt diff · repo |
| routing-manager | feed-prplos | v1.28.0 → opt_v0.1.0 | 2 | 5 | +7 −7 | v1.33.0 | 4 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-dslite | feed-prplos | v0.14.1 → opt_v0.1.0 | 1 | 1 | +7 −6 | v0.17.0 | 1 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-powerstatus † | feed-prplos | v0.5.0 → opt_v0.1.0 | 1 | 2 | +6 −6 | v0.5.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-usb | feed-prplos | v0.3.1 → opt_v0.1.0 | 1 | 2 | +5 −5 | v0.8.1 | 8 | 0 | no | LOW | S | opt diff · drift · repo |
| libgmap-ext † | feed-prplos | v1.4.0 → opt_v0.1.0 | 2 | 3 | +3 −5 | v1.4.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-button † | feed-prplos | v0.3.7 → opt_v0.1.0 | 1 | 1 | +4 −4 | v0.3.7 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-logical | feed-prplos | v1.3.3 → opt_v0.1.0 | 1 | 3 | +4 −4 | v1.7.0 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-conntrack-query | feed-prplos | v0.2.1 → opt_v0.1.0 | 1 | 1 | +1 −6 | v0.4.2 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-led | feed-prplos | v0.13.0 → opt_v0.1.0 | 1 | 1 | +3 −4 | v0.17.0 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| mcastd-noforward † | feed-prplos | v0.1.4 → opt_v0.1.0 | 1 | 1 | +3 −3 | v0.1.4 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-upnp | feed-prplos | v0.16.0 → opt_v0.1.0 | 1 | 1 | +3 −3 | v0.20.2 | 6 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-xpon | feed-prplos | v1.8.5 → opt_v0.1.0 | 1 | 1 | +3 −3 | v1.12.1 | 36 | 0 | no | LOW | M | opt diff · drift · repo |
| tr181-conmon † | feed-prplos | v0.4.0 → opt_v0.1.0 | 2 | 2 | +3 −2 | v0.4.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-device | feed-prplos | v0.33.0 → opt_v0.1.0 | 1 | 1 | +3 −2 | v0.36.1 | 2 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-dnssd | feed-prplos | v0.11.0 → opt_v0.1.0 | 1 | 1 | +1 −3 | v0.13.1 | 1 | 0 | no | LOW | S | opt diff · drift · repo |
| tr181-mcastd † | feed-prplos | v0.4.0 → opt_v0.1.0 | 1 | 1 | +1 −1 | v0.4.0 | 0 | 0 | no | LOW | S | opt diff · repo |
| tr181-pcp | feed-prplos | v0.13.0 → opt_v0.1.0 | 1 | 1 | +1 −1 | v0.16.3 | 4 | 0 | no | LOW | S | opt diff · drift · repo |
| uriparser † | feed_amx | 0.9.3 → 1.0.0 | — | 1 | — | 0.9.3 | — | 0 | n/a | LOW | S | — |
| amxb-inspect † | feed_amx | v1.2.1 → v1.2.1 | 0 | 0 | +0 −0 | v1.2.1 | 0 | 0 | yes | PORTED | - | opt diff · repo |
| dmtui † | feed_amx | v0.3.3 → v0.3.3 | 0 | 0 | +0 −0 | v0.3.3 | 0 | 0 | yes | PORTED | - | opt diff · repo |
| mod-dm-cli † | feed_amx | v0.2.6 → v0.2.6 | 0 | 0 | +0 −0 | v0.2.6 | 0 | 0 | yes | PORTED | - | opt diff · repo |
† hover for per-component notes · opt_* abbreviates
the proj_prplware-v4.2.0_optimizations_* tag prefix · “Opt commits/files/± lines” =
base→opt compare in the component repo · “Drift” = commits base→current · “Overlap” = files touched by
both diffs · sizes per heuristics.
The forward-port does not land on the base the optimizations were written for:
17 packages were added to feed-prplos after branch-off
(feed_amx / feed-prplmesh: none). Two of them — tr181-schedules and
mod-scheduler-amxp — ship in the prpl_core profile (81 → 83 packages),
i.e. new resident memory consumers that may need their own optimization pass; the swupdate
stack rides along in secure_boot_emmc builds.
| Package | Current version | Ships in profiles | Feed commits |
|---|---|---|---|
| mod-scheduler-amxp | v0.1.0 | prpl_core | 1 |
| tr181-schedules | v0.1.2 | prpl_core | 3 |
| imagegenerator | v0.2.0 | secure_boot_emmc | 5 |
| initramfs-generator | v0.0.0 | secure_boot_emmc | 2 |
| libkcapi | 1.5.0 | no profile ships it | 3 |
| libmfg | v1.3.0 | no profile ships it | 1 |
| libpass | v0.1.0 | no profile ships it | 1 |
| libubootenv | — | secure_boot_emmc | 1 |
| mod-fwi-swupdate | v0.6.1 | secure_boot_emmc | 1 |
| mod-wanmgr-system-ospv2 | v0.2.0 | mxl_x86_osp_tb341_v2 | 2 |
| prpl-securestore | — | no profile ships it | 1 |
| readmfg | v0.0.6 | secure_boot_emmc | 1 |
| swugenerator | 0.6 | no profile ships it | 2 |
| swupdate | gen_2025.05_v1.0.0 | secure_boot_emmc | 2 |
| sysregister | v0.0.0 | no profile ships it | 3 |
| sysupgrade-prpl | — | secure_boot_emmc | 1 |
| uboot-tools | v2026.01 | secure_boot_emmc | 6 |
Beyond the 103 component repos, the optimization lives in
prplos/prplos integration changes (91 commits, 20 files on
the opt branch) that must be re-applied on a branch that has
meanwhile moved 1,221 commits:
CONFIG_SAH_SERVICES_GMAP-MIBS-COMMON_INFORMATION/LOCATION/PRIORITY/WAN-ACCESS=n.dev_ram_optimizations_gmap_latest-24.10 exists
(1 commit ahead of latest-24.10, last activity 2026-04-07);
its MR was closed unmerged:tr181-schedules and
mod-scheduler-amxp entered the prpl_core profile after branch-off and
have never been optimization-reviewed — see new components.Unresolvable metrics are pinned to risk HIGH rather than silently dropped; the release tarball (PKG_HASH in the feed) still exists for a manual diff.
Risk — PORTED: the opt ref is fully contained in (or identical to) the current pin. LOW: zero mainline drift (re-tag), or an opt diff ≤ 5 files with no file overlap. HIGH: ≥ 5 overlapping files, overlap ≥ 30% of the opt diff, or truncated/unresolvable data. MED: everything else. Overlap = files changed by both the optimization diff and the mainline drift — a proxy for merge conflicts.
T-shirt size — points for churn (>5 files or >200 lines: 1, >20/1000: 2, >50/3000: 3), drift (>5 commits: 1, >30: 2, >100: 3) and overlap (≥1 file: 1, ≥5: 2, ≥10: 3); S ≤ 1, M ≤ 3, L ≤ 6, XL ≥ 7. Heuristic ranking, not person-days.
All numbers are re-derived from GitLab (never from prose docs): the component set is the
Makefile-blob diff of each feed between the branch-off and optimization SHAs; refs are parsed from
each package Makefile at three feed states; per-component metrics use the GitLab compare API
(three-way: base→opt, base→current, current→opt for ported-detection). Truncated compares fall back
to exact commit counting. Regenerate with make fetch build — sources in the repo.
uriparser is third-party (GitHub-hosted); its gap is the feed-level packaging diff
only.
No packages were removed from the feeds between branch-off and the current pins.