On Thu, Apr 05, 2018 at 09:07:49AM -0700, Vadim Lomovtsev wrote:
> >
> > > + mc_list = kmalloc(sizeof(*mc_list) +
> > > + sizeof(u64) *
> > > netdev_mc_count(netdev),
> > > + GFP_ATOMIC);
>
Hi Christoph,
Thank you for your feedback and time.
On Thu, Apr 05, 2018 at 08:07:48AM -0700, Christoph Hellwig wrote:
> > struct xcast_addr_list {
> > - struct list_head list;
> > int count;
> > + u64 mc[0];
>
> Please use the standard C99 syntax here:
>
>
> struct xcast_addr_list {
> - struct list_head list;
> int count;
> + u64 mc[0];
Please use the standard C99 syntax here:
u64 mc[];
> + mc_list = kmalloc(sizeof(*mc_list) +
> +
[correct Roberts' address]
On Thu, Apr 05, 2018 at 07:57:56AM -0700, Vadim Lomovtsev wrote:
> From: Vadim Lomovtsev
>
> It is too expensive to pass u64 values via linked list, instead
> allocate array for them by overall number of mac addresses from netdev.
>
> This eventually removes multiple
From: Vadim Lomovtsev
It is too expensive to pass u64 values via linked list, instead
allocate array for them by overall number of mac addresses from netdev.
This eventually removes multiple kmalloc() calls, aviod memory
fragmentation and allow to put single null check on kmalloc
return value in