Girish Moodalbail
2008-Dec-11 20:26 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
Folks, The new ::mac_srs dee-command now takes in ''-s'' to print SRS statistics and ''-c'' to print CPU binding of worker, poller, soft ring threads. There is also a new ''-v'' option for verbose setting. To see how the output looks like please see the link below. Am planning on pushing this into Nevada by early next week or as soon as I get a comments from couple of folks. The webrev for the same is at: http://cr.opensolaris.org/~girishmg/mac_srs_dcmd/ The output of ::mac_srs and it''s options are at: http://cr.opensolaris.org/~girishmg/mac_srs_dcmd/mac_srs_output Could anybody please codereview the same. thanks ~Girish PS: Answer to few questions raised by folks: (Q) In addition, can we get something like ::mac_srs -rs link_name which actually prints the cpu binding for soft rings as well. The goal is to be able to find links which are clashing on CPUs. --> The new option "-v" --> verbose, when used with "-c" for TX or RX side would display all the CPU''s and Fanout CPU''s for every link. That way in a single output you can compare if there are CPU''s assigned to multiple links. (Q) For the Tx side also, can you print also print the cpu cnt and the cpus used. By default, Tx worker threads are unbound. Poll thread is not there for Tx side. --> I have got rid of the Poll CPU for TX side and the new "-v" option prints the TX side CPU''s (Q) Is it not possible to find the interrupt CPU for e1000g0? --> Nope, the *srs_cpu''s mc_intr_cpu* is always "-1" which could be the platform limitation in retargetting the interrupt assignment thanks ~Girish
rajagopal kunhappan
2008-Dec-11 22:10 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
Hi Girish, [RX side CPU binding] > ::mac_srs -cr NUM POLL WORKER INTR FANOUT ADDR LINK_NAME CPUS CPU CPU CPU CPU_CNT 30030da26c0 vnic1 9 12 12 0 8 30030da3340 vnic5 9 3 3 0 8 3004d9d9900 e1000g1 9 16 16 -1 8 300335ea700 e1000g1 9 7 7 -1 8 300335ead40 e1000g0 16 1 1 -1 14 300335eb9c0 e1000g0 16 1 1 -1 14 In the above, since NUM_CPUS specify the cpu count for the Rx SRS, can you change FANOUT_CPU_CNT to FANOUT_CPUS and list the fanout cpus? Thanks, -krgopi Girish Moodalbail wrote:> Folks, > > The new ::mac_srs dee-command now takes in ''-s'' to print SRS statistics > and ''-c'' to print CPU binding of worker, poller, soft ring threads. > There is also a new ''-v'' option for verbose setting. To see how the > output looks like please see the link below. Am planning on pushing this > into Nevada by early next week or as soon as I get a comments from > couple of folks. > > The webrev for the same is at: > http://cr.opensolaris.org/~girishmg/mac_srs_dcmd/ > > The output of ::mac_srs and it''s options are at: > http://cr.opensolaris.org/~girishmg/mac_srs_dcmd/mac_srs_output > > Could anybody please codereview the same. > > thanks > ~Girish > > PS: > > Answer to few questions raised by folks: > > (Q) In addition, can we get something like ::mac_srs -rs link_name which > actually prints the cpu binding for soft rings as well. The goal is to > be able to find links which are clashing on CPUs. > > --> The new option "-v" --> verbose, when used with "-c" for TX or RX > side would display all the CPU''s and Fanout CPU''s for every link. That > way in a single output you can compare if there are CPU''s assigned to > multiple links. > > (Q) For the Tx side also, can you print also print the cpu cnt and the > cpus used. By default, Tx worker threads are unbound. Poll thread is not > there for Tx side. > > --> I have got rid of the Poll CPU for TX side and the new "-v" option > prints the TX side CPU''s > > (Q) Is it not possible to find the interrupt CPU for e1000g0? > > --> Nope, the *srs_cpu''s mc_intr_cpu* is always "-1" which could be the > platform limitation in retargetting the interrupt assignment > > thanks > ~Girish >--
Girish Moodalbail
2008-Dec-11 22:34 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
On 12/11/08 17:10, rajagopal kunhappan wrote:> Hi Girish, > > [RX side CPU binding] > > ::mac_srs -cr > NUM POLL WORKER INTR FANOUT > ADDR LINK_NAME CPUS CPU CPU CPU CPU_CNT > 30030da26c0 vnic1 9 12 12 0 8 > 30030da3340 vnic5 9 3 3 0 8 > 3004d9d9900 e1000g1 9 16 16 -1 8 > 300335ea700 e1000g1 9 7 7 -1 8 > 300335ead40 e1000g0 16 1 1 -1 14 > 300335eb9c0 e1000g0 16 1 1 -1 14 > > In the above, since NUM_CPUS specify the cpu count for the Rx SRS, can > you change FANOUT_CPU_CNT to FANOUT_CPUS and list the fanout cpus? >Hello Gopi, With the verbose option "-v" for CPU binding you get the fanout CPU list [RX side CPU binding] --> VERBOSE> ::mac_srs -crvCPU_COUNT FANOUT_CPU_COUNT ADDR LINK_NAME (CPU_LIST) (CPU_LIST) 30030da26c0 vnic1 9 8 (04,05,06,07,08,09, (04,05,06,07,08,09, 0a,0b,0c) 0a,0b) 30030da3340 vnic5 9 8 (1b,1c,1d,1e,1f,00, (1b,1c,1d,1e,1f,00, 01,02,03) 01,02) 3004d9d9900 e1000g1 9 8 (08,09,0a,0b,0c,0d, (08,09,0a,0b,0c,0d, 0e,0f,10) 0e,0f) 300335ea700 e1000g1 9 8 (1f,00,01,02,03,04, (1f,00,01,02,03,04, 05,06,07) 05,06) 300335ead40 e1000g0 16 14 (01,02,03,04,05,06, (02,03,04,05,06,07, 07,08,09,0a,0b,0c, 08,09,0a,0b,0c,0d, 0d,0e,0f,10) 0e,0f) 300335eb9c0 e1000g0 16 14 (01,02,03,04,05,06, (02,03,04,05,06,07, 07,08,09,0a,0b,0c, 08,09,0a,0b,0c,0d, 0d,0e,0f,10) 0e,0f) thanks ~Girish
Sunay Tripathi
2008-Dec-11 22:45 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
On 12/11/08 14:34, Girish Moodalbail wrote:> On 12/11/08 17:10, rajagopal kunhappan wrote: >> Hi Girish, >> >> [RX side CPU binding] >> > ::mac_srs -cr >> NUM POLL WORKER INTR FANOUT >> ADDR LINK_NAME CPUS CPU CPU CPU CPU_CNT >> 30030da26c0 vnic1 9 12 12 0 8 >> 30030da3340 vnic5 9 3 3 0 8 >> 3004d9d9900 e1000g1 9 16 16 -1 8 >> 300335ea700 e1000g1 9 7 7 -1 8 >> 300335ead40 e1000g0 16 1 1 -1 14 >> 300335eb9c0 e1000g0 16 1 1 -1 14 >> >> In the above, since NUM_CPUS specify the cpu count for the Rx SRS, can >> you change FANOUT_CPU_CNT to FANOUT_CPUS and list the fanout cpus? >> > Hello Gopi, > > With the verbose option "-v" for CPU binding you get the fanout CPU list > > [RX side CPU binding] --> VERBOSE >> ::mac_srs -crv > CPU_COUNT FANOUT_CPU_COUNT > ADDR LINK_NAME (CPU_LIST) (CPU_LIST) > 30030da26c0 vnic1 9 8 > (04,05,06,07,08,09, (04,05,06,07,08,09, > 0a,0b,0c) 0a,0b) > 30030da3340 vnic5 9 8 > (1b,1c,1d,1e,1f,00, (1b,1c,1d,1e,1f,00, > 01,02,03) 01,02) > 3004d9d9900 e1000g1 9 8 > (08,09,0a,0b,0c,0d, (08,09,0a,0b,0c,0d, > 0e,0f,10) 0e,0f) > 300335ea700 e1000g1 9 8 > (1f,00,01,02,03,04, (1f,00,01,02,03,04, > 05,06,07) 05,06) > 300335ead40 e1000g0 16 14 > (01,02,03,04,05,06, (02,03,04,05,06,07, > 07,08,09,0a,0b,0c, 08,09,0a,0b,0c,0d, > 0d,0e,0f,10) 0e,0f) > 300335eb9c0 e1000g0 16 14 > (01,02,03,04,05,06, (02,03,04,05,06,07, > 07,08,09,0a,0b,0c, 08,09,0a,0b,0c,0d, > 0d,0e,0f,10) 0e,0f) >This is nice. I like it. Of course, we need to figure out the dladm equivalent for these macros (or information shown in these macros). They are useful for performance debugging. Cheers, Sunay
rajagopal kunhappan
2008-Dec-11 22:48 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
Girish Moodalbail wrote:> On 12/11/08 17:10, rajagopal kunhappan wrote: >> Hi Girish, >> >> [RX side CPU binding] >> > ::mac_srs -cr >> NUM POLL WORKER INTR FANOUT >> ADDR LINK_NAME CPUS CPU CPU CPU CPU_CNT >> 30030da26c0 vnic1 9 12 12 0 8 >> 30030da3340 vnic5 9 3 3 0 8 >> 3004d9d9900 e1000g1 9 16 16 -1 8 >> 300335ea700 e1000g1 9 7 7 -1 8 >> 300335ead40 e1000g0 16 1 1 -1 14 >> 300335eb9c0 e1000g0 16 1 1 -1 14 >> >> In the above, since NUM_CPUS specify the cpu count for the Rx SRS, can >> you change FANOUT_CPU_CNT to FANOUT_CPUS and list the fanout cpus? >> > Hello Gopi, > > With the verbose option "-v" for CPU binding you get the fanout CPU listYes, I saw that. The way the above output is structured, it seemed like you have total number of CPUs upfront in the NUM_CPUS column, followed by the cpus themselves being used for poll, worker, intr, and now if the last column can also show fanout cpus, then everything would add up nicely. This way everything for the Rx side would be available one shot. Also having fanout_cnt in the last column is not very useful IMO. -krgopi> [RX side CPU binding] --> VERBOSE >> ::mac_srs -crv > CPU_COUNT > FANOUT_CPU_COUNT ADDR LINK_NAME > (CPU_LIST) (CPU_LIST) 30030da26c0 > vnic1 9 8 > (04,05,06,07,08,09, > (04,05,06,07,08,09, > 0a,0b,0c) 0a,0b) > 30030da3340 vnic5 9 > 8 > (1b,1c,1d,1e,1f,00, (1b,1c,1d,1e,1f,00, > 01,02,03) 01,02) > 3004d9d9900 e1000g1 9 > 8 > (08,09,0a,0b,0c,0d, (08,09,0a,0b,0c,0d, > 0e,0f,10) 0e,0f) > 300335ea700 e1000g1 9 > 8 > (1f,00,01,02,03,04, (1f,00,01,02,03,04, > 05,06,07) 05,06) > 300335ead40 e1000g0 16 > 14 > (01,02,03,04,05,06, (02,03,04,05,06,07, > 07,08,09,0a,0b,0c, > 08,09,0a,0b,0c,0d, > 0d,0e,0f,10) 0e,0f) > 300335eb9c0 e1000g0 16 > 14 > (01,02,03,04,05,06, (02,03,04,05,06,07, > 07,08,09,0a,0b,0c, > 08,09,0a,0b,0c,0d, > 0d,0e,0f,10) 0e,0f) > > > thanks > ~Girish--
Girish Moodalbail
2008-Dec-12 16:21 UTC
[crossbow-discuss] CPU binding & link statistics macro code review request.
>> Hello Gopi, >> >> With the verbose option "-v" for CPU binding you get the fanout CPU list >> > > Yes, I saw that. > > The way the above output is structured, it seemed like you have total > number of CPUs upfront in the NUM_CPUS column, followed by the cpus > themselves being used for poll, worker, intr, and now if the last column > can also show fanout cpus, then everything would add up nicely. This way > everything for the Rx side would be available one shot. >I agree it would be nice to have all the information in one row except for that it would exceed 80 columns width space and make the output clutter. So I choose to have different verbose flag and a different display. ~Girish -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.opensolaris.org/pipermail/crossbow-discuss/attachments/20081212/ea9982d4/attachment.html>