Re: On the NACKs on P4TC patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[Public]

Inline as <VJ2>... (was html, sorry)

________________________________________
From: John Fastabend <john.fastabend@xxxxxxxxx>
Sent: Tuesday, May 28, 2024 1:17 PM
To: Jain, Vipin <Vipin.Jain@xxxxxxx>; Singhai, Anjali <anjali.singhai@xxxxxxxxx>; Hadi Salim, Jamal <jhs@xxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>
Cc: Paolo Abeni <pabeni@xxxxxxxxxx>; Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>; Network Development <netdev@xxxxxxxxxxxxxxx>; Chatterjee, Deb <deb.chatterjee@xxxxxxxxx>; Limaye, Namrata <namrata.limaye@xxxxxxxxx>; tom Herbert <tom@xxxxxxxxxx>; Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx>; Shirshyad, Mahesh <Mahesh.Shirshyad@xxxxxxx>; Osinski, Tomasz <tomasz.osinski@xxxxxxxxx>; Jiri Pirko <jiri@xxxxxxxxxxx>; Cong Wang <xiyou.wangcong@xxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Vlad Buslov <vladbu@xxxxxxxxxx>; Simon Horman <horms@xxxxxxxxxx>; Khalid Manaa <khalidm@xxxxxxxxxx>; Toke Høiland-Jørgensen <toke@xxxxxxxxxx>; Victor Nogueira <victor@xxxxxxxxxxxx>; Tammela, Pedro <pctammela@xxxxxxxxxxxx>; Daly, Dan <dan.daly@xxxxxxxxx>; Andy Fingerhut <andy.fingerhut@xxxxxxxxx>; Sommers, Chris <chris.sommers@xxxxxxxxxxxx>; Matty Kadosh <mattyk@xxxxxxxxxx>; bpf <bpf@xxxxxxxxxxxxxxx>; lwn@xxxxxxx <lwn@xxxxxxx>
Subject: Re: On the NACKs on P4TC patches

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


Jain, Vipin wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
>
> My apologies, earlier email used html and was blocked by the list...
> My response at the bottom as "VJ>"
>
> ________________________________________
> From: Jain, Vipin <Vipin.Jain@xxxxxxx>
> Sent: Friday, May 24, 2024 2:28 PM
> To: Singhai, Anjali <anjali.singhai@xxxxxxxxx>; Hadi Salim, Jamal <jhs@xxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: Paolo Abeni <pabeni@xxxxxxxxxx>; Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>; Network Development <netdev@xxxxxxxxxxxxxxx>; Chatterjee, Deb <deb.chatterjee@xxxxxxxxx>; Limaye, Namrata <namrata.limaye@xxxxxxxxx>; tom Herbert <tom@xxxxxxxxxx>; Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx>; Shirshyad, Mahesh <Mahesh.Shirshyad@xxxxxxx>; Osinski, Tomasz <tomasz.osinski@xxxxxxxxx>; Jiri Pirko <jiri@xxxxxxxxxxx>; Cong Wang <xiyou.wangcong@xxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Vlad Buslov <vladbu@xxxxxxxxxx>; Simon Horman <horms@xxxxxxxxxx>; Khalid Manaa <khalidm@xxxxxxxxxx>; Toke Høiland-Jørgensen <toke@xxxxxxxxxx>; Victor Nogueira <victor@xxxxxxxxxxxx>; Tammela, Pedro <pctammela@xxxxxxxxxxxx>; Daly, Dan <dan.daly@xxxxxxxxx>; Andy Fingerhut <andy.fingerhut@xxxxxxxxx>; Sommers, Chris <chris.sommers@xxxxxxxxxxxx>; Matty Kadosh <mattyk@xxxxxxxxxx>; bpf <bpf@xxxxxxxxxxxxxxx>; lwn@xxxxxxx <lwn@xxxxxxx>
> Subject: Re: On the NACKs on P4TC patches
>
> [AMD Official Use Only - AMD Internal Distribution Only]
>
>
> I can ascertain (from AMD) that we have stated interest in, and are in full support of P4TC.
>
> Happy to elaborate more if needed.
>
> Thank you,
> Vipin Jain
> Sr Fellow Engineer, AMD
> ________________________________________
> From: Singhai, Anjali <anjali.singhai@xxxxxxxxx>
> Sent: Wednesday, May 22, 2024 5:30 PM
> To: Hadi Salim, Jamal <jhs@xxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: Paolo Abeni <pabeni@xxxxxxxxxx>; Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx>; Network Development <netdev@xxxxxxxxxxxxxxx>; Chatterjee, Deb <deb.chatterjee@xxxxxxxxx>; Limaye, Namrata <namrata.limaye@xxxxxxxxx>; tom Herbert <tom@xxxxxxxxxx>; Marcelo Ricardo Leitner <mleitner@xxxxxxxxxx>; Shirshyad, Mahesh <Mahesh.Shirshyad@xxxxxxx>; Osinski, Tomasz <tomasz.osinski@xxxxxxxxx>; Jiri Pirko <jiri@xxxxxxxxxxx>; Cong Wang <xiyou.wangcong@xxxxxxxxx>; David S. Miller <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Vlad Buslov <vladbu@xxxxxxxxxx>; Simon Horman <horms@xxxxxxxxxx>; Khalid Manaa <khalidm@xxxxxxxxxx>; Toke Høiland-Jørgensen <toke@xxxxxxxxxx>; Victor Nogueira <victor@xxxxxxxxxxxx>; Tammela, Pedro <pctammela@xxxxxxxxxxxx>; Jain, Vipin <Vipin.Jain@xxxxxxx>; Daly, Dan <dan.daly@xxxxxxxxx>; Andy Fingerhut <andy.fingerhut@xxxxxxxxx>; Sommers, Chris <chris.sommers@xxxxxxxxxxxx>; Matty Kadosh <mattyk@xxxxxxxxxx>; bpf <bpf@xxxxxxxxxxxxxxx>; lwn@xxxxxxx <lwn@xxxxxxx>
> Subject: RE: On the NACKs on P4TC patches
>
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> On Wed, May 22, 2024 at 6:19 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
>
> >> AFAICT there's some but not very strong support for P4TC,
>
> On Wed, May 22, 2024 at 4:04 PM Jamal Hadi Salim <jhs@xxxxxxxxxxxx > wrote:
> >I dont agree. Paolo asked this question and afaik Intel, AMD (both build P4-native NICs) and the folks interested in the MS DASH project >responded saying they are in support. Look at who is being Cced. A lot of these folks who attend biweekly discussion calls on P4TC. >Sample:
> >https://lore.kernel.org/netdev/IA0PR17MB7070B51A955FB8595FFBA5FB965E2@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
>
> FWIW, Intel is in full support of P4TC as we have stated several times in the past.

> VJ> I can ascertain (from AMD) that we have stated interest in, and are in full support of P4TC. Happy to elaborate more if needed.
> VJ> Thanks, Vipin

Anjali and Vipin is your support for HW support of P4 or a Linux SW implementation
of P4. If its for HW support what drivers would we want to support? Can you
describe how to program these devices?

<VJ2> Both, Sw implementation of P4 would allow prototyping and implementing without DPU/IPU hardware. Users have been deploying AMD P4 DPUs since 2019. They user standard (pensando or virtio) driver on the host and on the sideband compile and run/load P4 programs.


At the moment there hasn't been any movement on Linux hardware P4 support side
as far as I can tell. Yes there are some SDKs and build kits floating around for
FPGAs. For example maybe start with what drivers in kernel tree run the DPUs that
have this support? I think this would be a productive direction to go if we in
fact have hardware support in the works.

<VJ2> You guessed it correctly; AMD DPUs have SDK/build-kits to add hardware P4 support. For cloud infrastructure use case this works well, because one needs to expose a simple NIC (vanilla Ethernet NIC) on the host and therefore the users are okay (and prefer) compiling/loading it out-of-band. But P4TC effort, I am hoping can bring P4 to the users wanting to do inline acceleration.


If you want a SW implementation in Linux my opinion is still pushing a DSL
into the kernel datapath via qdisc/tc is the wrong direction. Mapping P4
onto hardware blocks is fundamentally different architecture from mapping
P4 onto general purpose CPU and registers. My opinion -- to handle this you
need a per architecture backend/JIT to compile the P4 to native instructions.
This will give you the most flexibility to define new constructs, best
performance, and lowest overhead runtime. We have a P4 BPF backend already
and JITs for most architectures I don't see the need for P4TC in this
context.

<VJ2> Well, I am not really a linux network or kernel datapath expert. But my hope certainly is that if a use case this succesful (with deployment in production for 4 years) can be mainstreamed with software (and hardware, if available), it could benefit the end users.


If the end goal is a hardware offload control plane I'm skeptical we
even need something specific just for SW datapath. I would propose
a devlink or new infra to program the device directly vs overhead and
complexity of abstracting through 'tc'. If you want to emulate your
device use BPF or user space datapath.

.John




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux