On Thu, Mar 02, 2006 at 07:02:38PM -0500, Andrew Gallatin wrote: > > William D. Hathaway writes: > > I would have thought this would be the preferred forum for your question, > but if nobody is biting you could also try the networking discussion forum > at: http://www.opensolaris.org/jive/forum.jspa?forumID=3 > > > > I think if you added some details about what you have tried and are seeing > you are more likely to get feedback. > > Thanks... I actually got all the feedback I needed privately. > The basic problem was that a single "cpu" in an ontario isn't fast > enough to sustain the packet rates required for 10GbE, even using > jumbo frames (~135Kpps). > > I do have one outstanding question: When using dtrace to profile > a problem like this, I was using the following dtrace script: > > #!/usr/sbin/dtrace -s > profile:::profile-997 > { > @a[stack(20)]=count(); > } > > END > { > trunc(@a, 20); > printa(@a); > } > > > It seem to sort of "randomly" pick a CPU to run on: > CPU ID FUNCTION:NAME > 27 2 :END > > unix`disp_getwork+0x88 > unix`idle+0xd4 > unix`thread_start+0x4 > <...> > > Is there a way to bind this to a CPU so I can watch > the CPU that my ithread is running on?
You get the data from all CPUs; which CPU happens to run the END probe doesn't really matter. If you only want *data* from one CPU, you should do: profile:::profile-997 /cpu == 10/ { /* rest of the script is the same */ - jonathan -- Jonathan Adams, Solaris Kernel Development _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org