Sure. Just run this and polling will get disabled % dladm create-vnic -l ixgbe0 vnic1
Let us know what you get with polling disabled. We don't have a tunable to disable polling but since ixgbe can't assign rx rings to VNIC yet, it disable polling for primary NIC as well. Cheers, Sunay zhihui Chen wrote: > During my test for 10GBE(Intel Ixgbe) with snv_110, I find the context > switch is a big problem for the performance. > Benchmark: Netperf-2.4.4 > Workload: TCP_STREAM (sending 8KB-size tcp packets from SUT to remote > machine) > > Crossbow use two kernel threads ( mac_soft_ring_worker and > mac_rx_srs_poll_ring) to help send and recv packets in the kernel. On > multi-core or multi-processor system, these two threads and interrupt > for nic can run on different CPU. Considering following scenario on my > 4-core system: > mac_soft_ring_worker: CPU 1 > mac_rx_srs_poll_ring: CPU 1 > Interrupt: CPU 2 > > I run the workload and bind the application to free CPU 0, then I get > the performance results at 8.8Gbps and mpstat output like following: > > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 0 17 3 21 9 0 1093 0 134501 3 97 > 0 0 > 1 0 0 0 29 13 56972 2 7 992 0 2 0 50 > 0 50 > 2 14 0 0 19473 19455 37 0 8 0 0 149 0 28 > 0 72 > 3 0 0 1 305 104 129 0 4 1 0 9 0 0 0 100 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 0 14 2 2 7 0 1120 0 133511 3 97 > 0 0 > 1 0 0 0 24 12 54501 2 6 971 0 2 0 48 > 0 52 > 2 0 0 0 19668 19648 45 0 9 0 0 149 0 28 > 0 72 > 3 0 0 0 306 104 128 0 6 0 0 11 0 0 0 100 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 0 14 2 21 8 2 1107 0 134569 3 97 > 0 0 > 1 0 0 0 32 16 57522 2 6 928 0 2 0 50 > 0 50 > 2 0 0 0 19564 19542 46 0 10 1 0 140 0 28 > 0 72 > 3 0 0 0 306 104 122 0 7 0 0 58 0 0 0 100 > > > Next step, I just run one dtrace command: dtrace -n > 'mac_tx:ent...@[probefunc,stack()]=count();}' > Then I can get performance at 9.57Gbps and mpstat output like following: > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 0 23 5 2055 9 4 529 0 142719 3 81 > 0 15 > 1 0 0 1 21 8 24343 0 2 2523 0 0 0 88 > 0 12 > 2 14 0 5 19678 19537 81 0 5 0 0 150 0 43 > 0 57 > 3 0 0 6 308 104 93 0 5 2 0 278 0 0 0 100 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 2 19 4 1998 9 6 556 0 142911 3 82 > 0 16 > 1 0 0 0 20 8 23543 1 2 2556 0 0 0 88 > 0 12 > 2 0 0 6 19647 19499 106 0 8 1 0 266 0 43 > 0 57 > 3 0 0 2 308 104 70 0 5 1 0 28 0 0 0 100 > CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl > 0 0 0 0 21 3 1968 10 4 556 0 144547 3 82 > 0 15 > 1 0 0 0 20 10 23334 0 2 2622 0 0 0 90 > 0 10 > 2 0 0 9 19797 19658 92 0 10 1 0 274 0 44 > 0 56 > 3 0 0 0 307 104 95 0 6 2 0 182 0 0 0 99 > > I dont think dtrace can help improve the performance of nic. If you > compare the mpstat output, the biggest difference is that context switch > has been reduced very much from 55000 to 23000. This leads to my point > that two much context switches hinders the performance of crossbow. > If I make these two kernel threads and interrupt run in totally > different cores, the performance can be reduced to about 7.8Gbps while > context switches will be increase to at about 80000 per second, but the > interrupts remains at about 19500/s > > In crossbow, thread mac_soft_ring_worker will be wakeup by > mac_rx_srs_poll_ring and interrupt through calling the function > mac_soft_ring_worker_wakeup. I just think that if I can disable the > polling function, then context switches should be reduced. > > Thanks > Zhihui > > > > 2009/4/1 rajagopal kunhappan <rajagopal.kunhappan at sun.com > <mailto:rajagopal.kunhappan at sun.com>> > > Hi Zhihui, > > > In crossbow, each mac_srs has a kernel thread called > "mac_rx_srs_poll_ring" > to poll the hardware and crossbow will wakeup this thread to > poll packets > from the hardware automatically. Does crossbow provide any > method to disable > the polling mechanism, for example disabling the this kernel thread? > > > Presently no. Can we know why you would want to do that? > > Thanks, > -krgopi > > Thanks > Zhihui > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > crossbow-discuss mailing list > crossbow-discuss at opensolaris.org > <mailto:crossbow-discuss at opensolaris.org> > http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss > > > > -- > >