Hi Andrew,
Hi,
I have a four-CPU system with two G-NICs. The system acts as an
application gateway, and the traffic comes from one NIC and goes out
through the other one. The throughput rate is about 600M. The OS is
Solaris Express SNV-46 on Intel platform.
Through mpstat, I find CPU utilization is unbalanced. One CPU is about
90% busy, and the rest three is about 50%. For the one with 90%, mpstat
shows its "intr" about 24798, while the other three is about 2000. The
most of time spending on "sys".
I use Dtrace and find the most frequently calls are for networking I/O.
It appears that Solaris sends all NIC interrupts from both NICs to a
single CPU. I tried to use "ndd -set /dev/ip ip_squeue_fanout 1", but
seems no much changes. Do I need to reboot to make the fanout effective?
If the NIC is gldv3-based, you can enable soft rings. Set
ip_squeue_fanout to 1, unplumb
and plumb the interface back up again. That would configure soft rings.
By default, 2
soft rings are used. Soft rings would spread the incoming load to 2 CPUs
if 2 rings are
configured.
-krgopi
_______________________________________________
networking-discuss mailing list
[email protected]