in reply to Re: Cross-platform testers please.
in thread Printing to STDERR causes deadlocks.

Many thanks. Can you tell if the two threads were running on separate cpus?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco.
Rule 1 has a caveat! -- Who broke the cabal?

Replies are listed 'Best First'.
Re^3: Cross-platform testers please.
by ghenry (Vicar) on Apr 27, 2005 at 10:23 UTC

    I don't want to appear stupid, but can you tell me how to check?

    Walking the road to enlightenment... I found a penguin and a camel on the way.....
    Fancy a yourname@perl.me.uk? Just ask!!!

      You don't. I know next to nothing about Linux, hence the openess (stupidity) of the question :)

      My hope was that top or some other similar utility would give you an overview of the system by cpu. If you set the program running on a long file and the overall cpu load seems split fairly evenly between the two cpus, with an otherwise mostly quiessent machine, then it would be a reasonable indication that the the two threads are being dispatched to both processors.

      On Win32, there is a system call GetProcessAffinityMask() which I can call to to check which cpus the task is allowed to run on, and an equivalent call to set that. There is probably something equivalent in Linux, but I haven't a clue where to start looking for it:(


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      Lingua non convalesco, consenesco et abolesco.
      Rule 1 has a caveat! -- Who broke the cabal?

        Hopefully, someone else will shed a little light.

        The Machine has Hyperthreading on as well I think, as cat /proc/cpuinfo shows 4 CPUs, instead of 2.

        Thanks.

        Walking the road to enlightenment... I found a penguin and a camel on the way.....
        Fancy a yourname@perl.me.uk? Just ask!!!