#
bc5dee3c |
| 24-Jul-2023 |
Kalle Valo <kvalo@kernel.org> |
MAINTAINERS: wifi: mark rndis_wlan as orphan
Last activity from Jussi for this driver is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.
MAINTAINERS: wifi: mark rndis_wlan as orphan
Last activity from Jussi for this driver is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104547.3061709-6-kvalo@kernel.org
show more ...
|
#
e7698315 |
| 24-Jul-2023 |
Kalle Valo <kvalo@kernel.org> |
MAINTAINERS: wifi: mark ar5523 as orphan
Last activity from Pontus for this driver is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org
MAINTAINERS: wifi: mark ar5523 as orphan
Last activity from Pontus for this driver is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104547.3061709-5-kvalo@kernel.org
show more ...
|
#
74b81eac |
| 24-Jul-2023 |
Kalle Valo <kvalo@kernel.org> |
MAINTAINERS: wifi: mark cw1200 as orphan
Last activity from Solomon is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/202307241045
MAINTAINERS: wifi: mark cw1200 as orphan
Last activity from Solomon is from 2013 so mark the driver orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104547.3061709-4-kvalo@kernel.org
show more ...
|
#
25700d49 |
| 24-Jul-2023 |
Kalle Valo <kvalo@kernel.org> |
MAINTAINERS: wifi: atmel: mark as orphan
Last activity from Simon is from 2005 so mark the driver is orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104
MAINTAINERS: wifi: atmel: mark as orphan
Last activity from Simon is from 2005 so mark the driver is orphan.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104547.3061709-3-kvalo@kernel.org
show more ...
|
#
96839282 |
| 24-Jul-2023 |
Kalle Valo <kvalo@kernel.org> |
MAINTAINERS: wifi: rtw88: change Ping as the maintainer
Yan-Hsuan has been away since 2021 and Ping has been the de facto maintainer the past year, actively reviewing patches and doing all other mai
MAINTAINERS: wifi: rtw88: change Ping as the maintainer
Yan-Hsuan has been away since 2021 and Ping has been the de facto maintainer the past year, actively reviewing patches and doing all other maintainer duties. So fix the MAINTAINERS file to show the current situation.
Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230724104547.3061709-2-kvalo@kernel.org
show more ...
|
#
767bb2aa |
| 21-Jul-2023 |
Tony Lindgren <tony@atomide.com> |
MAINTAINERS: Update TTY layer for lists and recently added files
Add mailing lists for linux-serial and lkml for the TTY layer. And let's list the recently added files. This makes it easier for get_
MAINTAINERS: Update TTY layer for lists and recently added files
Add mailing lists for linux-serial and lkml for the TTY layer. And let's list the recently added files. This makes it easier for get_maintainer.pl to include linux-serial for patches.
Signed-off-by: Tony Lindgren <tony@atomide.com> Link: https://lore.kernel.org/r/20230721072334.59272-1-tony@atomide.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
7b2b2012 |
| 25-Jul-2023 |
Yonghong Song <yonghong.song@linux.dev> |
MAINTAINERS: Replace my email address
Switch from corporate email address to linux.dev address.
Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20230725054100
MAINTAINERS: Replace my email address
Switch from corporate email address to linux.dev address.
Signed-off-by: Yonghong Song <yonghong.song@linux.dev> Link: https://lore.kernel.org/r/20230725054100.1013421-1-yonghong.song@linux.dev Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
show more ...
|
#
57111552 |
| 12-Jul-2023 |
Roger Quadros <rogerq@kernel.org> |
MAINTAINERS: drop invalid usb/cdns3 Reviewer e-mail
Alternate working e-mail of this Reviewer not available so drop it do prevent unnecessary bounce backs.
Signed-off-by: Roger Quadros <rogerq@kern
MAINTAINERS: drop invalid usb/cdns3 Reviewer e-mail
Alternate working e-mail of this Reviewer not available so drop it do prevent unnecessary bounce backs.
Signed-off-by: Roger Quadros <rogerq@kernel.org> Link: https://lore.kernel.org/r/20230712122828.17793-1-rogerq@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
#
d196d01c |
| 19-Jul-2023 |
Ming Qian <ming.qian@nxp.com> |
MAINTAINERS: update amphion vpu driver entry
Shijie has not been actively working on the driver, his e-mail address is bouncing for quite awhile now. remove him from the maintainer list here. I do w
MAINTAINERS: update amphion vpu driver entry
Shijie has not been actively working on the driver, his e-mail address is bouncing for quite awhile now. remove him from the maintainer list here. I do want to thank him for his work on the driver.
Signed-off-by: Zhou Peng <eagle.zhou@nxp.com> Signed-off-by: Ming Qian <ming.qian@nxp.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
cd063027 |
| 25-Apr-2023 |
Martin Kepplinger <martin.kepplinger@puri.sm> |
media: imx: Unstage the imx8mq-mipi-csi2 driver
The imx8mq-mipi-csi2 MIPI CSI-2 receiver driver is used and maintained. There is no reason to keep it in staging. The accompanying CSI bridge driver t
media: imx: Unstage the imx8mq-mipi-csi2 driver
The imx8mq-mipi-csi2 MIPI CSI-2 receiver driver is used and maintained. There is no reason to keep it in staging. The accompanying CSI bridge driver that uses it is in drivers/media/platform/nxp as well.
One TODO is to get rid of csi_state's "state" and "lock" variables. Especially make sure suspend/resume is working without them. That can very well be worked on from the new location.
Also add a MAINTAINERS section for the imx8mq-mipi-csi2 mipi receiver driver.
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
show more ...
|
#
0979e7e3 |
| 24-Jul-2023 |
Brian Norris <briannorris@chromium.org> |
MAINTAINERS: Add drivers/firmware/google/ entry
These are mostly used for Chrome platforms, so group it in with the same mailing list, repo, and (one) committer.
Signed-off-by: Brian Norris <briann
MAINTAINERS: Add drivers/firmware/google/ entry
These are mostly used for Chrome platforms, so group it in with the same mailing list, repo, and (one) committer.
Signed-off-by: Brian Norris <briannorris@chromium.org> Acked-by: Julius Werner <jwerner@chromium.org> Acked-By: Benson Leung <bleung@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Guenter Roeck <groeck@chromium.org> Link: https://lore.kernel.org/r/20230724081247.678784-1-tzungbi@kernel.org Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
show more ...
|
#
a2777be0 |
| 21-Jul-2023 |
Brian Norris <briannorris@chromium.org> |
MAINTAINERS: Update mwifiex maintainer list
We haven't heard anything from these folks in years. I've been reviewing many submissions and plan to keep doing so.
Cc: Amitkumar Karwar <amitkarwar@gma
MAINTAINERS: Update mwifiex maintainer list
We haven't heard anything from these folks in years. I've been reviewing many submissions and plan to keep doing so.
Cc: Amitkumar Karwar <amitkarwar@gmail.com> Cc: Ganapathi Bhat <ganapathi017@gmail.com> Cc: Sharvari Harisangam <sharvari.harisangam@nxp.com> Cc: Xinming Hu <huxinming820@gmail.com> Signed-off-by: Brian Norris <briannorris@chromium.org> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230721160603.1.Idf0e8025f59c62d73c08960638249b58cf215acc@changeid
show more ...
|
#
f8aa6608 |
| 18-Jul-2023 |
Changhuang Liang <changhuang.liang@starfivetech.com> |
phy: starfive: Add mipi dphy rx support
Add mipi dphy rx support for the StarFive JH7110 SoC. It is used to transfer CSI camera data.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.
phy: starfive: Add mipi dphy rx support
Add mipi dphy rx support for the StarFive JH7110 SoC. It is used to transfer CSI camera data.
Signed-off-by: Changhuang Liang <changhuang.liang@starfivetech.com> Reviewed-by: Minda Chen <minda.chen@starfivetech.com> Link: https://lore.kernel.org/r/20230718070803.16660-3-changhuang.liang@starfivetech.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
show more ...
|
#
37002bc6 |
| 17-Jul-2023 |
Costa Shulyupin <costa.shul@redhat.com> |
docs: move s390 under arch
and fix all in-tree references.
Architecture-specific documentation is being moved into Documentation/arch/ as a way of cleaning up the top-level documentation directory
docs: move s390 under arch
and fix all in-tree references.
Architecture-specific documentation is being moved into Documentation/arch/ as a way of cleaning up the top-level documentation directory and making the docs hierarchy more closely match the source hierarchy.
Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com> Acked-by: Jonathan Corbet <corbet@lwn.net> Acked-by: Heiko Carstens <hca@linux.ibm.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.kernel.org/r/20230718045550.495428-1-costa.shul@redhat.com Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
show more ...
|
#
070e8bd3 |
| 20-Jul-2023 |
Marc Kleine-Budde <mkl@pengutronix.de> |
MAINTAINERS: net: fix sort order
Linus seems to like the MAINTAINERS file sorted, see c192ac735768 ("MAINTAINERS 2: Electric Boogaloo").
Since this is currently not the case, restore the sort order
MAINTAINERS: net: fix sort order
Linus seems to like the MAINTAINERS file sorted, see c192ac735768 ("MAINTAINERS 2: Electric Boogaloo").
Since this is currently not the case, restore the sort order.
Fixes: 3abf3d15ffff ("MAINTAINERS: ASP 2.0 Ethernet driver maintainers") Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: Justin Chen <justin.chen@broadcom.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://lore.kernel.org/r/20230720151107.679668-1-mkl@pengutronix.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
#
afcca9b9 |
| 20-Jul-2023 |
Hu Haowen <src.res.211@gmail.com> |
docs/zh_TW: remove the mailing list entry for zh_TW
Due to some reasons the current mailing list will be revoked and new one will replace it in the future, hence remove the entry from MAINTAINERS ah
docs/zh_TW: remove the mailing list entry for zh_TW
Due to some reasons the current mailing list will be revoked and new one will replace it in the future, hence remove the entry from MAINTAINERS ahead of time.
Signed-off-by: Hu Haowen <src.res.211@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/20230720141846.1787-1-src.res.211@gmail.com
show more ...
|
#
faa4e0da |
| 19-Jul-2023 |
Arnaldo Carvalho de Melo <acme@redhat.com> |
MAINTAINERS: Add git information for perf-tools and perf-tools-next trees/branches
Now the perf tools development is done on these trees/branches:
git://git.kernel.org/pub/scm/linux/kernel/git/pe
MAINTAINERS: Add git information for perf-tools and perf-tools-next trees/branches
Now the perf tools development is done on these trees/branches:
git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools.git perf-tools git git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
For a while I'll continue mirroring what is these to the same branches in my git tree.
Suggested-by: John Garry <john.g.garry@oracle.com> Acked-by: Ian Rogers <irogers@google.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/lkml/CAP-5=fVGOP6-k=BTRd_bn=N0HVy+1ShpdW5rk5ND0ZGhm_fQkg@mail.gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
show more ...
|
#
4b97d282 |
| 23-Jun-2023 |
Mario Limonciello <mario.limonciello@amd.com> |
crypto: ccp - Add Mario to MAINTAINERS
I will maintain the platform access interface and dynamic boost control support.
Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Mario Limonci
crypto: ccp - Add Mario to MAINTAINERS
I will maintain the platform access interface and dynamic boost control support.
Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
show more ...
|
#
edf049c7 |
| 14-Jul-2023 |
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |
MAINTAINERS: samsung: Un-support cpuidle and clock drivers
Since few years no one is really paid to support drivers for Samsung Exynos SoC CPU idle and clock controllers. Correct the status to keep
MAINTAINERS: samsung: Un-support cpuidle and clock drivers
Since few years no one is really paid to support drivers for Samsung Exynos SoC CPU idle and clock controllers. Correct the status to keep them as maintained.
Acked-by: Stephen Boyd <sboyd@kernel.org> Link: https://lore.kernel.org/r/20230714050223.8327-1-krzysztof.kozlowski@linaro.org Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
show more ...
|
#
616bc1de |
| 16-Jul-2023 |
Xingyu Wu <xingyu.wu@starfivetech.com> |
clk: starfive: Add StarFive JH7110 PLL clock driver
Add driver for the StarFive JH7110 PLL clock controller and they work by reading and setting syscon registers.
Co-developed-by: Emil Renner Berth
clk: starfive: Add StarFive JH7110 PLL clock driver
Add driver for the StarFive JH7110 PLL clock controller and they work by reading and setting syscon registers.
Co-developed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
show more ...
|
#
c81f7845 |
| 16-Jul-2023 |
William Qiu <william.qiu@starfivetech.com> |
dt-bindings: soc: starfive: Add StarFive syscon module
Add documentation to describe StarFive System Controller Registers.
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> Rev
dt-bindings: soc: starfive: Add StarFive syscon module
Add documentation to describe StarFive System Controller Registers.
Reviewed-by: Emil Renner Berthing <emil.renner.berthing@canonical.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Co-developed-by: Xingyu Wu <xingyu.wu@starfivetech.com> Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com> Signed-off-by: William Qiu <william.qiu@starfivetech.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
show more ...
|
#
e420bed0 |
| 19-Jul-2023 |
Daniel Borkmann <daniel@iogearbox.net> |
bpf: Add fd-based tcx multi-prog infra with link support
This work refactors and adds a lightweight extension ("tcx") to the tc BPF ingress and egress data path side for allowing BPF program managem
bpf: Add fd-based tcx multi-prog infra with link support
This work refactors and adds a lightweight extension ("tcx") to the tc BPF ingress and egress data path side for allowing BPF program management based on fds via bpf() syscall through the newly added generic multi-prog API. The main goal behind this work which we also presented at LPC [0] last year and a recent update at LSF/MM/BPF this year [3] is to support long-awaited BPF link functionality for tc BPF programs, which allows for a model of safe ownership and program detachment.
Given the rise in tc BPF users in cloud native environments, this becomes necessary to avoid hard to debug incidents either through stale leftover programs or 3rd party applications accidentally stepping on each others toes. As a recap, a BPF link represents the attachment of a BPF program to a BPF hook point. The BPF link holds a single reference to keep BPF program alive. Moreover, hook points do not reference a BPF link, only the application's fd or pinning does. A BPF link holds meta-data specific to attachment and implements operations for link creation, (atomic) BPF program update, detachment and introspection. The motivation for BPF links for tc BPF programs is multi-fold, for example:
- From Meta: "It's especially important for applications that are deployed fleet-wide and that don't "control" hosts they are deployed to. If such application crashes and no one notices and does anything about that, BPF program will keep running draining resources or even just, say, dropping packets. We at FB had outages due to such permanent BPF attachment semantics. With fd-based BPF link we are getting a framework, which allows safe, auto-detachable behavior by default, unless application explicitly opts in by pinning the BPF link." [1]
- From Cilium-side the tc BPF programs we attach to host-facing veth devices and phys devices build the core datapath for Kubernetes Pods, and they implement forwarding, load-balancing, policy, EDT-management, etc, within BPF. Currently there is no concept of 'safe' ownership, e.g. we've recently experienced hard-to-debug issues in a user's staging environment where another Kubernetes application using tc BPF attached to the same prio/handle of cls_bpf, accidentally wiping all Cilium-based BPF programs from underneath it. The goal is to establish a clear/safe ownership model via links which cannot accidentally be overridden. [0,2]
BPF links for tc can co-exist with non-link attachments, and the semantics are in line also with XDP links: BPF links cannot replace other BPF links, BPF links cannot replace non-BPF links, non-BPF links cannot replace BPF links and lastly only non-BPF links can replace non-BPF links. In case of Cilium, this would solve mentioned issue of safe ownership model as 3rd party applications would not be able to accidentally wipe Cilium programs, even if they are not BPF link aware.
Earlier attempts [4] have tried to integrate BPF links into core tc machinery to solve cls_bpf, which has been intrusive to the generic tc kernel API with extensions only specific to cls_bpf and suboptimal/complex since cls_bpf could be wiped from the qdisc also. Locking a tc BPF program in place this way, is getting into layering hacks given the two object models are vastly different.
We instead implemented the tcx (tc 'express') layer which is an fd-based tc BPF attach API, so that the BPF link implementation blends in naturally similar to other link types which are fd-based and without the need for changing core tc internal APIs. BPF programs for tc can then be successively migrated from classic cls_bpf to the new tc BPF link without needing to change the program's source code, just the BPF loader mechanics for attaching is sufficient.
For the current tc framework, there is no change in behavior with this change and neither does this change touch on tc core kernel APIs. The gist of this patch is that the ingress and egress hook have a lightweight, qdisc-less extension for BPF to attach its tc BPF programs, in other words, a minimal entry point for tc BPF. The name tcx has been suggested from discussion of earlier revisions of this work as a good fit, and to more easily differ between the classic cls_bpf attachment and the fd-based one.
For the ingress and egress tcx points, the device holds a cache-friendly array with program pointers which is separated from control plane (slow-path) data. Earlier versions of this work used priority to determine ordering and expression of dependencies similar as with classic tc, but it was challenged that for something more future-proof a better user experience is required. Hence this resulted in the design and development of the generic attach/detach/query API for multi-progs. See prior patch with its discussion on the API design. tcx is the first user and later we plan to integrate also others, for example, one candidate is multi-prog support for XDP which would benefit and have the same 'look and feel' from API perspective.
The goal with tcx is to have maximum compatibility to existing tc BPF programs, so they don't need to be rewritten specifically. Compatibility to call into classic tcf_classify() is also provided in order to allow successive migration or both to cleanly co-exist where needed given its all one logical tc layer and the tcx plus classic tc cls/act build one logical overall processing pipeline.
tcx supports the simplified return codes TCX_NEXT which is non-terminating (go to next program) and terminating ones with TCX_PASS, TCX_DROP, TCX_REDIRECT. The fd-based API is behind a static key, so that when unused the code is also not entered. The struct tcx_entry's program array is currently static, but could be made dynamic if necessary at a point in future. The a/b pair swap design has been chosen so that for detachment there are no allocations which otherwise could fail.
The work has been tested with tc-testing selftest suite which all passes, as well as the tc BPF tests from the BPF CI, and also with Cilium's L4LB.
Thanks also to Nikolay Aleksandrov and Martin Lau for in-depth early reviews of this work.
[0] https://lpc.events/event/16/contributions/1353/ [1] https://lore.kernel.org/bpf/CAEf4BzbokCJN33Nw_kg82sO=xppXnKWEncGTWCTB9vGCmLB6pw@mail.gmail.com [2] https://colocatedeventseu2023.sched.com/event/1Jo6O/tales-from-an-ebpf-programs-murder-mystery-hemanth-malla-guillaume-fournier-datadog [3] http://vger.kernel.org/bpfconf2023_material/tcx_meta_netdev_borkmann.pdf [4] https://lore.kernel.org/bpf/20210604063116.234316-1-memxor@gmail.com
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Jakub Kicinski <kuba@kernel.org> Link: https://lore.kernel.org/r/20230719140858.13224-3-daniel@iogearbox.net Signed-off-by: Alexei Starovoitov <ast@kernel.org>
show more ...
|
#
053c8e1f |
| 19-Jul-2023 |
Daniel Borkmann <daniel@iogearbox.net> |
bpf: Add generic attach/detach/query API for multi-progs
This adds a generic layer called bpf_mprog which can be reused by different attachment layers to enable multi-program attachment and dependen
bpf: Add generic attach/detach/query API for multi-progs
This adds a generic layer called bpf_mprog which can be reused by different attachment layers to enable multi-program attachment and dependency resolution. In-kernel users of the bpf_mprog don't need to care about the dependency resolution internals, they can just consume it with few API calls.
The initial idea of having a generic API sparked out of discussion [0] from an earlier revision of this work where tc's priority was reused and exposed via BPF uapi as a way to coordinate dependencies among tc BPF programs, similar as-is for classic tc BPF. The feedback was that priority provides a bad user experience and is hard to use [1], e.g.:
I cannot help but feel that priority logic copy-paste from old tc, netfilter and friends is done because "that's how things were done in the past". [...] Priority gets exposed everywhere in uapi all the way to bpftool when it's right there for users to understand. And that's the main problem with it.
The user don't want to and don't need to be aware of it, but uapi forces them to pick the priority. [...] Your cover letter [0] example proves that in real life different service pick the same priority. They simply don't know any better. Priority is an unnecessary magic that apps _have_ to pick, so they just copy-paste and everyone ends up using the same.
The course of the discussion showed more and more the need for a generic, reusable API where the "same look and feel" can be applied for various other program types beyond just tc BPF, for example XDP today does not have multi- program support in kernel, but also there was interest around this API for improving management of cgroup program types. Such common multi-program management concept is useful for BPF management daemons or user space BPF applications coordinating internally about their attachments.
Both from Cilium and Meta side [2], we've collected the following requirements for a generic attach/detach/query API for multi-progs which has been implemented as part of this work:
- Support prog-based attach/detach and link API - Dependency directives (can also be combined): - BPF_F_{BEFORE,AFTER} with relative_{fd,id} which can be {prog,link,none} - BPF_F_ID flag as {fd,id} toggle; the rationale for id is so that user space application does not need CAP_SYS_ADMIN to retrieve foreign fds via bpf_*_get_fd_by_id() - BPF_F_LINK flag as {prog,link} toggle - If relative_{fd,id} is none, then BPF_F_BEFORE will just prepend, and BPF_F_AFTER will just append for attaching - Enforced only at attach time - BPF_F_REPLACE with replace_bpf_fd which can be prog, links have their own infra for replacing their internal prog - If no flags are set, then it's default append behavior for attaching - Internal revision counter and optionally being able to pass expected_revision - User space application can query current state with revision, and pass it along for attachment to assert current state before doing updates - Query also gets extension for link_ids array and link_attach_flags: - prog_ids are always filled with program IDs - link_ids are filled with link IDs when link was used, otherwise 0 - {prog,link}_attach_flags for holding {prog,link}-specific flags - Must be easy to integrate/reuse for in-kernel users
The uapi-side changes needed for supporting bpf_mprog are rather minimal, consisting of the additions of the attachment flags, revision counter, and expanding existing union with relative_{fd,id} member.
The bpf_mprog framework consists of an bpf_mprog_entry object which holds an array of bpf_mprog_fp (fast-path structure). The bpf_mprog_cp (control-path structure) is part of bpf_mprog_bundle. Both have been separated, so that fast-path gets efficient packing of bpf_prog pointers for maximum cache efficiency. Also, array has been chosen instead of linked list or other structures to remove unnecessary indirections for a fast point-to-entry in tc for BPF.
The bpf_mprog_entry comes as a pair via bpf_mprog_bundle so that in case of updates the peer bpf_mprog_entry is populated and then just swapped which avoids additional allocations that could otherwise fail, for example, in detach case. bpf_mprog_{fp,cp} arrays are currently static, but they could be converted to dynamic allocation if necessary at a point in future. Locking is deferred to the in-kernel user of bpf_mprog, for example, in case of tcx which uses this API in the next patch, it piggybacks on rtnl.
An extensive test suite for checking all aspects of this API for prog-based attach/detach and link API comes as BPF selftests in this series.
Thanks also to Andrii Nakryiko for early API discussions wrt Meta's BPF prog management.
[0] https://lore.kernel.org/bpf/20221004231143.19190-1-daniel@iogearbox.net [1] https://lore.kernel.org/bpf/CAADnVQ+gEY3FjCR=+DmjDR4gp5bOYZUFJQXj4agKFHT9CQPZBw@mail.gmail.com [2] http://vger.kernel.org/bpfconf2023_material/tcx_meta_netdev_borkmann.pdf
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Link: https://lore.kernel.org/r/20230719140858.13224-2-daniel@iogearbox.net Signed-off-by: Alexei Starovoitov <ast@kernel.org>
show more ...
|
#
64bd4641 |
| 18-Jul-2023 |
Miguel Ojeda <ojeda@kernel.org> |
MAINTAINERS: add Rust KUnit files to the KUnit entry
The KUnit maintainers would like to maintain these files on their side too (thanks!), so add them to their entry.
With this in place, `scripts/g
MAINTAINERS: add Rust KUnit files to the KUnit entry
The KUnit maintainers would like to maintain these files on their side too (thanks!), so add them to their entry.
With this in place, `scripts/get_maintainer.pl` prints both sets of maintainers/reviewers (i.e. KUnit and Rust) for those files, which is the behavior we are looking for.
Reviewed-by: David Gow <davidgow@google.com> Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com> Reviewed-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com> Signed-off-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
show more ...
|
#
3abf3d15 |
| 13-Jul-2023 |
Justin Chen <justin.chen@broadcom.com> |
MAINTAINERS: ASP 2.0 Ethernet driver maintainers
Add maintainers entry for ASP 2.0 Ethernet driver.
Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Florian Fainelli <florian.fa
MAINTAINERS: ASP 2.0 Ethernet driver maintainers
Add maintainers entry for ASP 2.0 Ethernet driver.
Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com> Signed-off-by: Justin Chen <justin.chen@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|