Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Apr 2012 17:11:07 -0700
From:      Sean Bruno <seanbru@yahoo-inc.com>
To:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Cc:        Jack Vogel <jfvogel@gmail.com>, John Baldwin <jhb@freebsd.org>
Subject:   igb(4) Pondering a bind to cpu patch
Message-ID:  <1335312667.11564.13.camel@powernoodle-l7.corp.yahoo.com>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~sbruno/if_igb.c.txt

Scenario I've just seen:

8 core machine
2 igb(4) interfaces
set num_queues=4

igb0:0 --> cpu0
igb0:1 --> cpu1
igb0:2 --> cpu2
igb0:3 --> cpu3

igb1:0 --> cpu0
igb1:1 --> cpu1
igb1:2 --> cpu2
igb1:3 --> cpu3

I suspect, that we need a static global to keep track of what cpu last
was last bound to a queue.  My patch does do this, but I don't know if
its the right thing.

Since I'm doing multiple interfaces, I need to make sure I don't
schedule a queue to a non existent cpu, so take a modulo of the counter
and the number of cpus in the box.  

Perhaps not the most elegant solution, but its a thing?

Sean




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1335312667.11564.13.camel>