Skip to content
  • Jon Chronopoulos's avatar
    ProcessorCount: Fix virtual processor count on Solaris · 1c87bc60
    Jon Chronopoulos authored and Brad King's avatar Brad King committed
    The previous code did not count the number of virtual processors across
    physical processors on SunOS.
    
    Can handle the following situations:
    
    ```
    $ uname -a
    SunOS solaris 5.11 11.4.0.15.0 i86pc i386 i86pc
    $ psrinfo -p -v
    The physical processor has 1 virtual processor (0)
      x86 (GenuineIntel 306D2 family 6 model 61 step 2 clock 3492 MHz)
            Intel Core Processor (Broadwell)
    The physical processor has 1 virtual processor (1)
      x86 (GenuineIntel 306D2 family 6 model 61 step 2 clock 3492 MHz)
            Intel Core Processor (Broadwell)
    The physical processor has 1 virtual processor (2)
      x86 (GenuineIntel 306D2 family 6 model 61 step 2 clock 3492 MHz)
            Intel Core Processor (Broadwell)
    The physical processor has 1 virtual processor (3)
      x86 (GenuineIntel 306D2 family 6 model 61 step 2 clock 3492 MHz)
            Intel Core Processor (Broadwell)
    ```
    
    ```
    $ uname -a
    SunOS sol11x86 5.11 11.0 i86pc i386 i86pc
    $ psrinfo -p -v
    The physical processor has 2 virtual processors (0 1)
      x86 (GenuineIntel 50650 family 6 model 85 step 0 clock 2000 MHz)
            Intel(r) Xeon(r) Gold 6138 CPU @ 2.00GHz
    ```
    
    ```
    $ uname -a
    SunOS sol11 5.11 11.0 sun4v sparc sun4v
    $ psrinfo -p -v
    The physical processor has 2 cores and 16 virtual processors (0-15)
      The core has 8 virtual processors (0-7)
      The core has 8 virtual processors (8-15)
        SPARC-T4 (chipid 0, clock 2848 MHz)
    ```
    1c87bc60