[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <bd68daa3-b8bd-4124-8a0c-dcc3c14bba24@p183>
Date: Sun, 19 May 2024 08:41:40 +0300
From: Alexey Dobriyan <adobriyan@...il.com>
To: Andrew Lunn <andrew@...n.ch>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH] net: set struct net_device::name earlier
On Sun, May 19, 2024 at 12:04:05AM +0200, Andrew Lunn wrote:
> On Sat, May 18, 2024 at 11:24:57PM +0300, Alexey Dobriyan wrote:
> > I've tried debugging networking allocations with bpftrace and doing
> >
> > $dev = (struct net_device*)arg0;
> > printf("dev %s\n", $dev->name);
> >
> > doesn't print anything useful in functions called right after netdevice
> > allocation. The reason is very simple: dev->name has not been set yet.
> >
> > Make name copying much earlier for smoother debugging experience.
>
> Does this really help?
Yes and no. One could infer names from stacktraces and overall ordering
of the allocations but it isn't convenient.
The snippet works everywhere except small number of functions
but it doesn't cost anything to make it work everywhere.
> Instead of "" don't you get "eth%d"? The expansion of the %d to eth42
> does not happen until you register the netdev.
Expansion happens later, yes. %d is fine. It is immediately obvious
which type of device allocates what.
Powered by blists - more mailing lists