SPARC64 context switching oddities

Marius Strobl marius at alchemy.franken.de
Thu Jun 23 10:53:48 UTC 2011


On Thu, Jun 23, 2011 at 03:30:51PM +1000, Peter Jeremy wrote:
> I have a tool that measures the rate at which a single-byte token can
> be passed between two processes via a socketpair and have been running
> multiple copies of it on an otherwise idle V890 (16-CPU, 64GB RAM
> running -current from about a week ago), capturing 'vmstat -s' output.
> In the process, I have found several oddities:
> 
> 1) The number of context switches doesn't match my expectations.
> See http://i.imgur.com/TyU3j.jpg
> It starts out unexpectedly high (~184k switches/sec) and then drops to
> an unrealistically low value as the number of processes increases from
> 1 to about 20 pairs.  It then very slowly increases.  Based on one
> process writing a token to a second process requiring one context
> switch, I would expect the number of context switches to roughly match
> the green (based on token passing rate) or blue (based on syscall
> rate) lines.
> 
> 2) The transfer rate dips initially then rises to a peak before tailing off.
> See http://i.imgur.com/zVcfu.jpg and http://i.imgur.com/DhMmV.jpg
> The red line shows the rate reported by the program and the green line
> shows the rate estimated from the syscall rate.  I would expect a fairly
> flat peak from 1 to about 16 pairs (since there are 16 execution threads
> available) that then tailed off as scheduler overheads increased
> 
> Can anyone offer an explanation for this behaviour?
> 

I guess you're better off trying to find someone who knows about the
schedulers on arch at .

Marius



More information about the freebsd-sparc64 mailing list