[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <64b25d26-dbc1-4027-b04f-ecf5ad3b69b9@lunn.ch>
Date: Wed, 7 May 2025 19:25:44 +0200
From: Andrew Lunn <andrew@...n.ch>
To: John Ousterhout <ouster@...stanford.edu>
Cc: Paolo Abeni <pabeni@...hat.com>, netdev@...r.kernel.org,
edumazet@...gle.com, horms@...nel.org, kuba@...nel.org
Subject: Re: [PATCH net-next v8 05/15] net: homa: create homa_peer.h and
homa_peer.c
On Wed, May 07, 2025 at 09:11:01AM -0700, John Ousterhout wrote:
> On Mon, May 5, 2025 at 4:06 AM Paolo Abeni <pabeni@...hat.com> wrote:
>
> > On 5/3/25 1:37 AM, John Ousterhout wrote:
> > [...]
> > > +{
> > > + /* Note: when we return, the object must be initialized so it's
> > > + * safe to call homa_peertab_destroy, even if this function returns
> > > + * an error.
> > > + */
> > > + int i;
> > > +
> > > + spin_lock_init(&peertab->write_lock);
> > > + INIT_LIST_HEAD(&peertab->dead_dsts);
> > > + peertab->buckets = vmalloc(HOMA_PEERTAB_BUCKETS *
> > > + sizeof(*peertab->buckets));
> >
> > This struct looks way too big to be allocated on per netns basis. You
> > should use a global table and include the netns in the lookup key.
>
> Are there likely to be lots of netns's in a system? I thought I read
> someplace that a hardware NIC must belong exclusively to a single
> netns, so from that I assumed there couldn't be more than a few
> netns's.
You might want to read up about PF and VF, as part of SR-IOV
https://www.intel.com/content/www/us/en/developer/articles/technical/configure-sr-iov-network-virtual-functions-in-linux-kvm.html
https://doc.dpdk.org/guides/_images/single_port_nic.png
You can have one NIC support a number of Virtual Functions, each of
which is a PCIe device on the bus and gets its own linux
interface. You can move those interfaces between network names spaces,
or pass them through into virtual machines. Below these Virtual
Functions is an embedded switch, often called eswitch. That allows
traffic to flow between the VFs, for e.g. VM to VM, or out the media
to the link peer.
I've used some Intel NICs which support 32 VFs, but other Intel NICs
support 64 VFs.
Andrew
Powered by blists - more mailing lists