From: Anatoly Burakov <anatoly.burakov@intel.com> To: dev@dpdk.org Cc: david.hunt@intel.com, ciara.loftus@intel.com, konstantin.ananyev@intel.com Subject: [dpdk-dev] [PATCH v9 0/8] Enhancements for PMD power management Date: Fri, 9 Jul 2021 15:53:20 +0000 [thread overview] Message-ID: <cover.1625845967.git.anatoly.burakov@intel.com> (raw) In-Reply-To: <cover.1625753585.git.anatoly.burakov@intel.com> This patchset introduces several changes related to PMD power management: - Changed monitoring intrinsics to use callbacks as a comparison function, based on previous patchset [1] but incorporating feedback [2] - this hopefully will make it possible to add support for .get_monitor_addr in virtio - Add a new intrinsic to monitor multiple addresses, based on RTM instruction set and the TPAUSE instruction - Add support for PMD power management on multiple queues, as well as all accompanying infrastructure and example apps changes v9: - Added all missing Acks and Tests - Added a new commit with NIC features - Addressed minor issues raised in review v8: - Fixed checkpatch issue - Added comment explaining empty poll handling (Konstantin) v7: - Fixed various bugs v6: - Improved the algorithm for multi-queue sleep - Fixed segfault and addressed other feedback v5: - Removed "power save queue" API and replaced with mechanism suggested by Konstantin - Addressed other feedback v4: - Replaced raw number with a macro - Fixed all the bugs found by Konstantin - Some other minor corrections v3: - Moved some doc updates to NIC features list v2: - Changed check inversion to callbacks - Addressed feedback from Konstantin - Added doc updates where necessary [1] http://patches.dpdk.org/project/dpdk/list/?series=16930&state=* [2] http://patches.dpdk.org/project/dpdk/patch/819ef1ace187365a615d3383e54579e3d9fb216e.1620747068.git.anatoly.burakov@intel.com/#133274 Anatoly Burakov (8): eal: use callbacks for power monitoring comparison net/af_xdp: add power monitor support doc: add PMD power management NIC feature eal: add power monitor for multiple events power: remove thread safety from PMD power API's power: support callbacks for multiple Rx queues power: support monitoring multiple Rx queues examples/l3fwd-power: support multiq in PMD modes doc/guides/nics/features.rst | 10 + doc/guides/nics/features/default.ini | 1 + doc/guides/prog_guide/power_man.rst | 74 +- doc/guides/rel_notes/release_21_08.rst | 11 + drivers/event/dlb2/dlb2.c | 17 +- drivers/net/af_xdp/rte_eth_af_xdp.c | 34 + drivers/net/i40e/i40e_rxtx.c | 20 +- drivers/net/iavf/iavf_rxtx.c | 20 +- drivers/net/ice/ice_rxtx.c | 20 +- drivers/net/ixgbe/ixgbe_rxtx.c | 20 +- drivers/net/mlx5/mlx5_rx.c | 17 +- examples/l3fwd-power/main.c | 6 - lib/eal/arm/rte_power_intrinsics.c | 11 + lib/eal/include/generic/rte_cpuflags.h | 2 + .../include/generic/rte_power_intrinsics.h | 68 +- lib/eal/ppc/rte_power_intrinsics.c | 11 + lib/eal/version.map | 3 + lib/eal/x86/rte_cpuflags.c | 2 + lib/eal/x86/rte_power_intrinsics.c | 90 ++- lib/power/meson.build | 3 + lib/power/rte_power_pmd_mgmt.c | 663 +++++++++++++----- lib/power/rte_power_pmd_mgmt.h | 6 + 22 files changed, 847 insertions(+), 262 deletions(-) -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Anatoly Burakov <anatoly.burakov@intel.com> To: dev@dpdk.org Cc: david.hunt@intel.com, ciara.loftus@intel.com, konstantin.ananyev@intel.com Subject: [dpdk-dev] [PATCH v9 0/8] Enhancements for PMD power management Date: Fri, 9 Jul 2021 16:00:08 +0000 [thread overview] Message-ID: <cover.1625845967.git.anatoly.burakov@intel.com> (raw) Message-ID: <20210709160008.igiovIE18n0o_0Ev2q9w4amDB52jtvVX-Knra7_FZzs@z> (raw) In-Reply-To: <cover.1625753585.git.anatoly.burakov@intel.com> This patchset introduces several changes related to PMD power management: - Changed monitoring intrinsics to use callbacks as a comparison function, based on previous patchset [1] but incorporating feedback [2] - this hopefully will make it possible to add support for .get_monitor_addr in virtio - Add a new intrinsic to monitor multiple addresses, based on RTM instruction set and the TPAUSE instruction - Add support for PMD power management on multiple queues, as well as all accompanying infrastructure and example apps changes v9: - Added all missing Acks and Tests - Added a new commit with NIC features - Addressed minor issues raised in review v8: - Fixed checkpatch issue - Added comment explaining empty poll handling (Konstantin) v7: - Fixed various bugs v6: - Improved the algorithm for multi-queue sleep - Fixed segfault and addressed other feedback v5: - Removed "power save queue" API and replaced with mechanism suggested by Konstantin - Addressed other feedback v4: - Replaced raw number with a macro - Fixed all the bugs found by Konstantin - Some other minor corrections v3: - Moved some doc updates to NIC features list v2: - Changed check inversion to callbacks - Addressed feedback from Konstantin - Added doc updates where necessary [1] http://patches.dpdk.org/project/dpdk/list/?series=16930&state=* [2] http://patches.dpdk.org/project/dpdk/patch/819ef1ace187365a615d3383e54579e3d9fb216e.1620747068.git.anatoly.burakov@intel.com/#133274 Anatoly Burakov (8): eal: use callbacks for power monitoring comparison net/af_xdp: add power monitor support doc: add PMD power management NIC feature eal: add power monitor for multiple events power: remove thread safety from PMD power API's power: support callbacks for multiple Rx queues power: support monitoring multiple Rx queues examples/l3fwd-power: support multiq in PMD modes doc/guides/nics/features.rst | 10 + doc/guides/nics/features/default.ini | 1 + doc/guides/prog_guide/power_man.rst | 74 +- doc/guides/rel_notes/release_21_08.rst | 11 + drivers/event/dlb2/dlb2.c | 17 +- drivers/net/af_xdp/rte_eth_af_xdp.c | 34 + drivers/net/i40e/i40e_rxtx.c | 20 +- drivers/net/iavf/iavf_rxtx.c | 20 +- drivers/net/ice/ice_rxtx.c | 20 +- drivers/net/ixgbe/ixgbe_rxtx.c | 20 +- drivers/net/mlx5/mlx5_rx.c | 17 +- examples/l3fwd-power/main.c | 6 - lib/eal/arm/rte_power_intrinsics.c | 11 + lib/eal/include/generic/rte_cpuflags.h | 2 + .../include/generic/rte_power_intrinsics.h | 68 +- lib/eal/ppc/rte_power_intrinsics.c | 11 + lib/eal/version.map | 3 + lib/eal/x86/rte_cpuflags.c | 2 + lib/eal/x86/rte_power_intrinsics.c | 90 ++- lib/power/meson.build | 3 + lib/power/rte_power_pmd_mgmt.c | 663 +++++++++++++----- lib/power/rte_power_pmd_mgmt.h | 6 + 22 files changed, 847 insertions(+), 262 deletions(-) -- 2.25.1
next prev parent reply other threads:[~2021-07-09 15:54 UTC|newest] Thread overview: 165+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-01 12:00 [dpdk-dev] [PATCH v1 0/7] Enhancements for PMD power management Anatoly Burakov 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 1/7] power_intrinsics: allow monitor checks inversion Anatoly Burakov 2021-06-21 12:56 ` Ananyev, Konstantin 2021-06-23 9:43 ` Burakov, Anatoly 2021-06-23 9:55 ` Ananyev, Konstantin 2021-06-23 10:00 ` Burakov, Anatoly 2021-06-23 11:00 ` Ananyev, Konstantin 2021-06-23 12:12 ` Burakov, Anatoly 2021-06-23 13:27 ` Ananyev, Konstantin 2021-06-23 14:13 ` Burakov, Anatoly 2021-06-24 9:47 ` Ananyev, Konstantin 2021-06-24 14:34 ` Burakov, Anatoly 2021-06-24 14:57 ` Ananyev, Konstantin 2021-06-24 15:04 ` Burakov, Anatoly 2021-06-24 15:25 ` Ananyev, Konstantin 2021-06-24 15:54 ` Burakov, Anatoly 2021-07-09 15:03 ` David Marchand 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-06-02 12:59 ` Loftus, Ciara 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-06-22 9:13 ` Ananyev, Konstantin 2021-06-23 9:46 ` Burakov, Anatoly 2021-06-23 9:52 ` Ananyev, Konstantin 2021-06-25 11:52 ` Burakov, Anatoly 2021-06-25 14:42 ` Ananyev, Konstantin 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-06-22 9:41 ` Ananyev, Konstantin 2021-06-23 9:36 ` Burakov, Anatoly 2021-06-23 9:49 ` Ananyev, Konstantin 2021-06-23 9:56 ` Burakov, Anatoly 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 6/7] power: support monitoring " Anatoly Burakov 2021-06-01 12:00 ` [dpdk-dev] [PATCH v1 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 0/7] Enhancements for PMD power management Anatoly Burakov 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-06-28 12:19 ` Ananyev, Konstantin 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-06-28 12:37 ` Ananyev, Konstantin 2021-06-28 12:43 ` Burakov, Anatoly 2021-06-28 12:58 ` Ananyev, Konstantin 2021-06-28 13:29 ` Burakov, Anatoly 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-06-28 7:10 ` David Marchand 2021-06-28 9:25 ` Burakov, Anatoly 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 6/7] power: support monitoring " Anatoly Burakov 2021-06-25 14:00 ` [dpdk-dev] [PATCH v2 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 0/7] Enhancements for PMD power management Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 6/7] power: support monitoring " Anatoly Burakov 2021-06-28 13:29 ` Ananyev, Konstantin 2021-06-28 14:09 ` Burakov, Anatoly 2021-06-29 0:07 ` Ananyev, Konstantin 2021-06-29 11:05 ` Burakov, Anatoly 2021-06-29 11:39 ` Burakov, Anatoly 2021-06-29 12:14 ` Ananyev, Konstantin 2021-06-29 13:23 ` Burakov, Anatoly 2021-06-28 12:41 ` [dpdk-dev] [PATCH v3 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 0/7] Enhancements for PMD power management Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 6/7] power: support monitoring " Anatoly Burakov 2021-06-28 15:54 ` [dpdk-dev] [PATCH v4 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 0/7] Enhancements for PMD power management Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-06-30 9:52 ` David Hunt 2021-07-01 9:01 ` David Hunt 2021-07-05 10:24 ` Burakov, Anatoly 2021-06-30 11:04 ` Ananyev, Konstantin 2021-07-05 10:23 ` Burakov, Anatoly 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 6/7] power: support monitoring " Anatoly Burakov 2021-06-30 10:29 ` Ananyev, Konstantin 2021-07-05 10:08 ` Burakov, Anatoly 2021-06-29 15:48 ` [dpdk-dev] [PATCH v5 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-07-05 15:21 ` [dpdk-dev] [PATCH v6 0/7] Enhancements for PMD power management Anatoly Burakov 2021-07-05 15:21 ` [dpdk-dev] [PATCH v6 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-07-05 15:21 ` [dpdk-dev] [PATCH v6 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-07-05 15:21 ` [dpdk-dev] [PATCH v6 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-08-04 9:52 ` Kinsella, Ray 2021-07-05 15:21 ` [dpdk-dev] [PATCH v6 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-07-07 10:14 ` Ananyev, Konstantin 2021-07-05 15:22 ` [dpdk-dev] [PATCH v6 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-07-06 18:50 ` Ananyev, Konstantin 2021-07-07 10:06 ` Burakov, Anatoly 2021-07-07 10:11 ` Ananyev, Konstantin 2021-07-07 11:54 ` Burakov, Anatoly 2021-07-07 12:51 ` Ananyev, Konstantin 2021-07-07 14:35 ` Burakov, Anatoly 2021-07-07 17:09 ` Ananyev, Konstantin 2021-07-07 10:04 ` David Hunt 2021-07-07 10:28 ` Burakov, Anatoly 2021-07-05 15:22 ` [dpdk-dev] [PATCH v6 6/7] power: support monitoring " Anatoly Burakov 2021-07-07 10:16 ` Ananyev, Konstantin 2021-07-05 15:22 ` [dpdk-dev] [PATCH v6 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 0/7] Enhancements for PMD power management Anatoly Burakov 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-07-07 11:56 ` David Hunt 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-07-07 12:01 ` David Hunt 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-07-07 12:02 ` David Hunt 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-07-07 11:54 ` David Hunt 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 6/7] power: support monitoring " Anatoly Burakov 2021-07-07 12:03 ` David Hunt 2021-07-07 10:48 ` [dpdk-dev] [PATCH v7 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-07-07 12:03 ` David Hunt 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 0/7] Enhancements for PMD power management Anatoly Burakov 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 1/7] power_intrinsics: use callbacks for comparison Anatoly Burakov 2021-07-08 16:56 ` McDaniel, Timothy 2021-07-09 13:46 ` Thomas Monjalon 2021-07-09 14:41 ` Burakov, Anatoly 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 2/7] net/af_xdp: add power monitor support Anatoly Burakov 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 3/7] eal: add power monitor for multiple events Anatoly Burakov 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 4/7] power: remove thread safety from PMD power API's Anatoly Burakov 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 5/7] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-07-09 14:24 ` David Marchand 2021-07-09 14:42 ` Burakov, Anatoly 2021-07-09 14:46 ` David Marchand 2021-07-09 14:53 ` Burakov, Anatoly 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 6/7] power: support monitoring " Anatoly Burakov 2021-07-08 14:13 ` [dpdk-dev] [PATCH v8 7/7] l3fwd-power: support multiqueue in PMD pmgmt modes Anatoly Burakov 2021-07-09 14:50 ` David Marchand 2021-07-09 15:53 ` Anatoly Burakov [this message] 2021-07-09 16:00 ` [dpdk-dev] [PATCH v9 0/8] Enhancements for PMD power management Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 1/8] eal: use callbacks for power monitoring comparison Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 2/8] net/af_xdp: add power monitor support Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 3/8] doc: add PMD power management NIC feature Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:57 ` Burakov, Anatoly 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 4/8] eal: add power monitor for multiple events Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 5/8] power: remove thread safety from PMD power API's Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 6/8] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 7/8] power: support monitoring " Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 15:53 ` [dpdk-dev] [PATCH v9 8/8] examples/l3fwd-power: support multiq in PMD modes Anatoly Burakov 2021-07-09 16:00 ` Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 0/8] Enhancements for PMD power management Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 1/8] eal: use callbacks for power monitoring comparison Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 2/8] net/af_xdp: add power monitor support Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 3/8] doc: add PMD power management NIC feature Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 4/8] eal: add power monitor for multiple events Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 5/8] power: remove thread safety from PMD power API's Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 6/8] power: support callbacks for multiple Rx queues Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 7/8] power: support monitoring " Anatoly Burakov 2021-07-09 16:08 ` [dpdk-dev] [PATCH v10 8/8] examples/l3fwd-power: support multiq in PMD modes Anatoly Burakov 2021-07-09 19:24 ` [dpdk-dev] [PATCH v10 0/8] Enhancements for PMD power management David Marchand
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1625845967.git.anatoly.burakov@intel.com \ --to=anatoly.burakov@intel.com \ --cc=ciara.loftus@intel.com \ --cc=david.hunt@intel.com \ --cc=dev@dpdk.org \ --cc=konstantin.ananyev@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.