[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190522.120906.745446103879620889.davem@davemloft.net>
Date: Wed, 22 May 2019 12:09:06 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: claudiu.manoil@....com
Cc: netdev@...r.kernel.org, alexandre.belloni@...tlin.com,
pavel@...x.de, UNGLinuxDriver@...rochip.com
Subject: Re: [PATCH net] ocelot: Dont allocate another multicast list, use
__dev_mc_sync
From: Claudiu Manoil <claudiu.manoil@....com>
Date: Tue, 21 May 2019 19:52:55 +0300
> Doing kmalloc in atomic context is always an issue,
> more so for a list that can grow significantly.
> Turns out that the driver only uses the duplicated
> list of multicast mac addresses to keep track of
> what addresses to delete from h/w before committing
> the new list from kernel to h/w back again via set_rx_mode,
> every time this list gets updated by the kernel.
> Given that the h/w knows how to add and delete mac addresses
> based on the mac address value alone, __dev_mc_sync should be
> the much better choice of kernel API for these operations
> avoiding the considerable overhead of maintaining a duplicated
> list in the driver.
>
> Signed-off-by: Claudiu Manoil <claudiu.manoil@....com>
> ---
> Maybe this should go to net, since there were objections
> for abusing kmalloc(GFP_ATOMIC).
Applied.
Powered by blists - more mailing lists