[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1291562016.2806.257.camel@edumazet-laptop>
Date: Sun, 05 Dec 2010 16:13:36 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Changli Gao <xiaosuo@...il.com>
Cc: hadi@...erus.ca, Jarek Poplawski <jarkao2@...il.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH 3/3] ifb: move tq from ifb_private
Le dimanche 05 décembre 2010 à 22:40 +0800, Changli Gao a écrit :
> On Sun, Dec 5, 2010 at 10:30 PM, jamal <hadi@...erus.ca> wrote:
> > On Sun, 2010-12-05 at 09:13 +0800, Changli Gao wrote:
> >
> >> BTW: My ultimate goal is making ifb a multi-queue NIC, and the number
> >> of queues is equal to the number of the possible CPUs.
> >
> >
> > My view is this is going to be tricky because:
> > - we use tasklets. When we reschedule we can end up on a differrent
> > cpu.
>
> The tasklets always been scheduled to the current CPU unless it has
> been schedule already on the other CPU.
>
> > -I dont see any point in having a separate softIRQ
> > - and if you do use other mechanisms it would require a lot more
> > testing since there are quiet a few use cases of ifb
> >
>
> I keep using tasklet. The attachment is the alpha version.
>
for_each_possible_cpu(cpu) {
q = per_cpu_ptr(p->q, cpu);
...
dev_ifb = alloc_netdev_mq(sizeof(struct ifb_private), "ifb%d",
ifb_setup, num_possible_cpus());
This is a very usual error.
You can have machines with 2 possibles cpus, numbered 0 and 8
Therere, you must use nr_cpu_ids here instead of num_possible_cpus()
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists