All of lore.kernel.org
 help / color / mirror / Atom feed
From: Breno Leitao <leitao@debian.org>
To: Ido Schimmel <idosch@idosch.org>
Cc: aleksander.lobakin@intel.com, kuba@kernel.org,
	davem@davemloft.net, pabeni@redhat.com, edumazet@google.com,
	elder@kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, nbd@nbd.name,
	sean.wang@mediatek.com, Mark-MC.Lee@mediatek.com,
	lorenzo@kernel.org, taras.chornyi@plvision.eu,
	ath11k@lists.infradead.org, ath10k@lists.infradead.org,
	linux-wireless@vger.kernel.org, geomatsi@gmail.com,
	kvalo@kernel.org, quic_jjohnson@quicinc.com, leon@kernel.org,
	dennis.dalessandro@cornelisnetworks.com,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org, Jiri Pirko <jiri@resnulli.us>,
	Simon Horman <horms@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	amcohen@nvidia.com
Subject: Re: [PATCH net-next v4 2/9] net: create a dummy net_device allocator
Date: Wed, 10 Apr 2024 05:45:41 -0700	[thread overview]
Message-ID: <ZhaJ9WkG2OYXkvGo@gmail.com> (raw)
In-Reply-To: <ZhZzjNDRaHtdYjDg@shredder>

On Wed, Apr 10, 2024 at 02:10:04PM +0300, Ido Schimmel wrote:
> On Tue, Apr 09, 2024 at 05:57:16AM -0700, Breno Leitao wrote:
> > It is impossible to use init_dummy_netdev together with alloc_netdev()
> > as the 'setup' argument.
> > 
> > This is because alloc_netdev() initializes some fields in the net_device
> > structure, and later init_dummy_netdev() memzero them all. This causes
> > some problems as reported here:
> > 
> > 	https://lore.kernel.org/all/20240322082336.49f110cc@kernel.org/
> > 
> > Split the init_dummy_netdev() function in two. Create a new function called
> > init_dummy_netdev_core() that does not memzero the net_device structure.
> > Then have init_dummy_netdev() memzero-ing and calling
> > init_dummy_netdev_core(), keeping the old behaviour.
> > 
> > init_dummy_netdev_core() is the new function that could be called as an
> > argument for alloc_netdev().
> > 
> > Also, create a helper to allocate and initialize dummy net devices,
> > leveraging init_dummy_netdev_core() as the setup argument. This function
> > basically simplify the allocation of dummy devices, by allocating and
> > initializing it. Freeing the device continue to be done through
> > free_netdev()
> > 
> > Suggested-by: Jakub Kicinski <kuba@kernel.org>
> > Signed-off-by: Breno Leitao <leitao@debian.org>
> 
> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
> 
> We were about to submit another user of init_dummy_netdev() when I
> noticed this patch. Converted the code to use alloc_netdev_dummy() [1]
> and it seems to be working fine. Will submit after your patch is
> accepted.

Thanks. It seems that this patch is close to get accepted. Let's see...

> See a few minor comments below.
> 
> [...]
> 
> > +/**
> > + *	init_dummy_netdev	- init a dummy network device for NAPI
> > + *	@dev: device to init
> > + *
> > + *	This takes a network device structure and initialize the minimum
> 
> s/initialize/initializes/
> 
> > + *	amount of fields so it can be used to schedule NAPI polls without
> > + *	registering a full blown interface. This is to be used by drivers
> > + *	that need to tie several hardware interfaces to a single NAPI
> > + *	poll scheduler due to HW limitations.
> > + */
> > +void init_dummy_netdev(struct net_device *dev)
> > +{
> > +	/* Clear everything. Note we don't initialize spinlocks
> > +	 * are they aren't supposed to be taken by any of the
> 
> I assume you meant s/are/as/ ?

Thanks for the feedback, I agree with all of them.

Since these lines were not introduced by this patch, and this patch is
just moving code (and comments) around, I would add a new patch to the
patch series fixing the grammar errors.

WARNING: multiple messages have this Message-ID (diff)
From: Breno Leitao <leitao@debian.org>
To: Ido Schimmel <idosch@idosch.org>
Cc: aleksander.lobakin@intel.com, kuba@kernel.org,
	davem@davemloft.net, pabeni@redhat.com, edumazet@google.com,
	elder@kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, nbd@nbd.name,
	sean.wang@mediatek.com, Mark-MC.Lee@mediatek.com,
	lorenzo@kernel.org, taras.chornyi@plvision.eu,
	ath11k@lists.infradead.org, ath10k@lists.infradead.org,
	linux-wireless@vger.kernel.org, geomatsi@gmail.com,
	kvalo@kernel.org, quic_jjohnson@quicinc.com, leon@kernel.org,
	dennis.dalessandro@cornelisnetworks.com,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	bpf@vger.kernel.org, Jiri Pirko <jiri@resnulli.us>,
	Simon Horman <horms@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	amcohen@nvidia.com
Subject: Re: [PATCH net-next v4 2/9] net: create a dummy net_device allocator
Date: Wed, 10 Apr 2024 05:45:41 -0700	[thread overview]
Message-ID: <ZhaJ9WkG2OYXkvGo@gmail.com> (raw)
In-Reply-To: <ZhZzjNDRaHtdYjDg@shredder>

On Wed, Apr 10, 2024 at 02:10:04PM +0300, Ido Schimmel wrote:
> On Tue, Apr 09, 2024 at 05:57:16AM -0700, Breno Leitao wrote:
> > It is impossible to use init_dummy_netdev together with alloc_netdev()
> > as the 'setup' argument.
> > 
> > This is because alloc_netdev() initializes some fields in the net_device
> > structure, and later init_dummy_netdev() memzero them all. This causes
> > some problems as reported here:
> > 
> > 	https://lore.kernel.org/all/20240322082336.49f110cc@kernel.org/
> > 
> > Split the init_dummy_netdev() function in two. Create a new function called
> > init_dummy_netdev_core() that does not memzero the net_device structure.
> > Then have init_dummy_netdev() memzero-ing and calling
> > init_dummy_netdev_core(), keeping the old behaviour.
> > 
> > init_dummy_netdev_core() is the new function that could be called as an
> > argument for alloc_netdev().
> > 
> > Also, create a helper to allocate and initialize dummy net devices,
> > leveraging init_dummy_netdev_core() as the setup argument. This function
> > basically simplify the allocation of dummy devices, by allocating and
> > initializing it. Freeing the device continue to be done through
> > free_netdev()
> > 
> > Suggested-by: Jakub Kicinski <kuba@kernel.org>
> > Signed-off-by: Breno Leitao <leitao@debian.org>
> 
> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
> 
> We were about to submit another user of init_dummy_netdev() when I
> noticed this patch. Converted the code to use alloc_netdev_dummy() [1]
> and it seems to be working fine. Will submit after your patch is
> accepted.

Thanks. It seems that this patch is close to get accepted. Let's see...

> See a few minor comments below.
> 
> [...]
> 
> > +/**
> > + *	init_dummy_netdev	- init a dummy network device for NAPI
> > + *	@dev: device to init
> > + *
> > + *	This takes a network device structure and initialize the minimum
> 
> s/initialize/initializes/
> 
> > + *	amount of fields so it can be used to schedule NAPI polls without
> > + *	registering a full blown interface. This is to be used by drivers
> > + *	that need to tie several hardware interfaces to a single NAPI
> > + *	poll scheduler due to HW limitations.
> > + */
> > +void init_dummy_netdev(struct net_device *dev)
> > +{
> > +	/* Clear everything. Note we don't initialize spinlocks
> > +	 * are they aren't supposed to be taken by any of the
> 
> I assume you meant s/are/as/ ?

Thanks for the feedback, I agree with all of them.

Since these lines were not introduced by this patch, and this patch is
just moving code (and comments) around, I would add a new patch to the
patch series fixing the grammar errors.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2024-04-10 12:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 12:57 [PATCH net-next v4 0/9] allocate dummy device dynamically Breno Leitao
2024-04-09 12:57 ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 1/9] net: free_netdev: exit earlier if dummy Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-10  1:46   ` Jakub Kicinski
2024-04-10  1:46     ` Jakub Kicinski
2024-04-09 12:57 ` [PATCH net-next v4 2/9] net: create a dummy net_device allocator Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-10 11:10   ` Ido Schimmel
2024-04-10 11:10     ` Ido Schimmel
2024-04-10 12:45     ` Breno Leitao [this message]
2024-04-10 12:45       ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 3/9] net: marvell: prestera: allocate dummy net_device dynamically Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 4/9] net: mediatek: mtk_eth_sock: " Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 5/9] net: ipa: " Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 6/9] net: ibm/emac: " Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 7/9] wifi: qtnfmac: Use netdev dummy allocator helper Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 8/9] wifi: ath10k: allocate dummy net_device dynamically Breno Leitao
2024-04-09 12:57   ` Breno Leitao
2024-04-09 12:57 ` [PATCH net-next v4 9/9] wifi: ath11k: " Breno Leitao
2024-04-09 12:57   ` Breno Leitao

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=ZhaJ9WkG2OYXkvGo@gmail.com \
    --to=leitao@debian.org \
    --cc=Mark-MC.Lee@mediatek.com \
    --cc=aleksander.lobakin@intel.com \
    --cc=amcohen@nvidia.com \
    --cc=ath10k@lists.infradead.org \
    --cc=ath11k@lists.infradead.org \
    --cc=bigeasy@linutronix.de \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=dennis.dalessandro@cornelisnetworks.com \
    --cc=edumazet@google.com \
    --cc=elder@kernel.org \
    --cc=geomatsi@gmail.com \
    --cc=horms@kernel.org \
    --cc=idosch@idosch.org \
    --cc=jiri@resnulli.us \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=lorenzo@kernel.org \
    --cc=nbd@nbd.name \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=quic_jjohnson@quicinc.com \
    --cc=sean.wang@mediatek.com \
    --cc=taras.chornyi@plvision.eu \
    /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: link
Be 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.