Re: [PATCH] implement nice support across physical cpus on SMP

From: Markus QT=F6rnqvist?= (mjt_at_nysv.org)
Date: 05/09/05

  • Next message: Markus QT=F6rnqvist?=: "Re: [ck] Re: [PATCH] implement nice support across physical cpus on SMP"
    Date:	Mon, 9 May 2005 14:24:46 +0300
    To: linux-kernel@vger.kernel.org
    
    
    

    I beg to differ with Mr. Carvalho's assesment with this patch;
    it works like a charm, and then some.

    The rest of the message is just my analysis of the situation
    ran on a Dell PowerEdge 2850, dual hyperthread Xeon EM64Ts, with
    Debian Pure64 Sarge installed.

    Mr. Carvalho, is the program you tested a failure with open, or
    is it possible for me to have the code and try to reproduce this
    nevertheless?

    My two cents say this is going in :)

    And on replying, anyone, please keep me in the Cc, as I'm not
    subscribed.

    The rest of this message is just the "raw" data on my experiment.

    $ cat load.sh
    #!/bin/sh

    if [ $1 ] && [ -n $1 ]; then
      count=$1
    else
      count=1
    fi

    cur=0
    while [ $cur -lt $count ]; do
      cur=$[ $cur + 1 ]
      if [ $cur -eq $[ $count-1 ] ] || [ $cur -eq $count ]; then
        nice -n 19 load_base.sh &
      else
        load_base.sh &
      fi
    done

    $ cat load_base.sh
    #!/bin/sh

    while true; do a=1; done

    $ ./load.sh 5
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
     3918 mjt 34 0 5660 1136 936 R 99.9 0.0 1:34.30 load_base.sh
     3917 mjt 35 0 5660 1136 936 R 99.5 0.0 1:34.30 load_base.sh
     3916 mjt 34 0 5660 1136 936 R 59.7 0.0 0:53.16 load_base.sh
     3919 mjt 39 19 5660 1136 936 R 6.0 0.0 0:05.97 load_base.sh
     3920 mjt 39 19 5660 1136 936 R 3.0 0.0 0:02.62 load_base.sh

      PID USER PR NI VIRT SHR S %CPU %MEM TIME+ #C COMMAND
     3917 mjt 26 0 5660 936 R 99.9 0.0 3:37.61 0 load_base.sh
     3918 mjt 25 0 5660 936 R 99.9 0.0 3:37.60 3 load_base.sh
     3916 mjt 26 0 5660 936 R 52.7 0.0 2:02.37 2 load_base.sh
     3919 mjt 39 19 5660 936 R 7.0 0.0 0:13.80 1 load_base.sh
     3920 mjt 39 19 5660 936 R 3.0 0.0 0:06.05 2 load_base.sh

    top - 11:09:24 up 15:30, 2 users, load average: 4.99, 3.55, 1.63
      PID USER PR NI VIRT SHR S %CPU %MEM TIME+ #C COMMAND
     3917 mjt 25 0 5660 936 R 99.6 0.0 6:11.35 0 load_base.sh
     3918 mjt 24 0 5660 936 R 99.6 0.0 6:11.34 3 load_base.sh
     3916 mjt 39 0 5660 936 R 65.7 0.0 3:28.95 2 load_base.sh
     3919 mjt 39 19 5660 936 R 7.0 0.0 0:23.54 1 load_base.sh
     3920 mjt 39 19 5660 936 R 3.0 0.0 0:10.33 2 load_base.sh

    top - 11:10:57 up 15:32, 2 users, load average: 4.99, 3.94, 1.95
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
     3917 mjt 22 0 5660 1136 936 R 99.5 0.0 7:51.62 load_base.sh
     3918 mjt 21 0 5660 1136 936 R 99.5 0.0 7:51.61 load_base.sh
     3916 mjt 39 0 5660 1136 936 R 53.7 0.0 4:25.26 load_base.sh
     3919 mjt 39 19 5660 1136 936 R 7.0 0.0 0:29.92 load_base.sh
     3920 mjt 39 19 5660 1136 936 R 3.0 0.0 0:13.13 load_base.sh

    top - 11:12:32 up 15:33, 2 users, load average: 4.99, 4.22, 2.24
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ #C COMMAND
     3917 mjt 35 0 5660 1136 936 R 99.9 0.0 9:28.56 0 load_base.sh
     3918 mjt 34 0 5660 1136 936 R 99.5 0.0 9:28.54 3 load_base.sh
     3916 mjt 35 0 5660 1136 936 R 61.7 0.0 5:19.77 2 load_base.sh
     3919 mjt 39 19 5660 1136 936 R 6.0 0.0 0:36.07 1 load_base.sh
     3920 mjt 39 19 5660 1136 936 R 3.0 0.0 0:15.82 2 load_base.sh

    $ ./load.sh 7
    top - 11:13:49 up 15:35, 2 users, load average: 5.17, 4.40, 2.45
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ #C COMMAND
     3952 mjt 29 0 5660 1140 936 R 99.9 0.0 0:33.53 2 load_base.sh
     3950 mjt 31 0 5660 1140 936 R 99.5 0.0 0:33.33 1 load_base.sh
     3953 mjt 30 0 5660 1140 936 R 55.7 0.0 0:16.82 3 load_base.sh
     3951 mjt 39 0 5660 1140 936 R 43.8 0.0 0:16.70 3 load_base.sh
     3949 mjt 39 0 5660 1140 936 R 23.9 0.0 0:13.18 0 load_base.sh
     3954 mjt 39 19 5660 1140 936 R 2.0 0.0 0:00.64 0 load_base.sh
     3955 mjt 39 19 5660 1140 936 R 2.0 0.0 0:00.64 0 load_base.sh

    top - 11:14:53 up 15:36, 2 users, load average: 6.38, 4.91, 2.76
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ #C COMMAND
     3950 mjt 23 0 5660 1140 936 R 99.9 0.0 1:39.67 1 load_base.sh
     3952 mjt 21 0 5660 1140 936 R 99.9 0.0 1:39.87 2 load_base.sh
     3951 mjt 39 0 5660 1140 936 R 52.7 0.0 0:49.91 3 load_base.sh
     3953 mjt 22 0 5660 1140 936 R 47.8 0.0 0:49.95 3 load_base.sh
     3949 mjt 39 0 5660 1140 936 R 43.8 0.0 0:38.70 0 load_base.sh
     3954 mjt 39 19 5660 1140 936 R 2.0 0.0 0:01.90 0 load_base.sh
     3955 mjt 39 19 5660 1140 936 R 2.0 0.0 0:01.90 0 load_base.sh

    -- 
    mjt
    
    

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/



  • Next message: Markus QT=F6rnqvist?=: "Re: [ck] Re: [PATCH] implement nice support across physical cpus on SMP"

    Relevant Pages