** Description changed:

  lshw on AArch64 hardware is painfully slow.
  This affects both lshw in current Ubuntu releases and vanilla upstream.
  
  For a 48 core node, cpuinfo parsing added up to 30 seconds (8 lines
  per core in /proc/cpuinfo add up to 384 lines to parse).
  
  For a 96 core node, parsing took up to 5 minutes (!).
  
  I think the problem was introduced by [1], and can be summarized as:
  - CPU capabilities should be added only to the current CPU core,
-   and NOT to all previous CPU cores parsed.
+   and NOT to all previous CPU cores parsed.
  
  My suggestion is dropping the loop in [1], thus calling the <addHint>
  and <describeCapability> only for currentcpu.
  
  I put together a small patch (basically removing the for loop in question)
  at [2] (or see attachement), which should be applied on top of version
  "02.16-2ubuntu1.3" from Ubuntu Trusty 14.04.
  
  After applying the patch at [2], parsing for the above system (48 cores)
  takes less than 1 second (instead of 30s), with the exact same results ...
  
  [1]
  https://github.com/lyonel/lshw/commit/beb89de5a3c10449fe73f1c77b2486d868e5bc9a
  #diff-f4010714738fa4cdd5999499579da2b3R217
  
  [2] http://paste.ubuntu.com/16456620/
  
  # lsb_release -rd
  Description:    Ubuntu 14.04.4 LTS
  Release:        14.04
  
  BR,
  Alex
+ 
+ [Impact] 
+ lshw takes too long time on parsing /proc/cpuinfo on aarch64 system
+ It takes minutes on 96cores and almost 10min on 224cores system.
+ 
+ [Test Case]
+ `time sudo lshw` and it shall be less then 15sec
+ 
+ [Regression Potential] 
+ This patch only affect code for aarch64. No regression possible on other 
aarch64 and has been tested on aarch64
+ 
+ [Other Info]
+ Patch has been merged into upstream branch.
+ https://github.com/lyonel/lshw/commit/20cda77239e8604e798b87a0441e694edb0214d1

** Description changed:

  lshw on AArch64 hardware is painfully slow.
  This affects both lshw in current Ubuntu releases and vanilla upstream.
  
  For a 48 core node, cpuinfo parsing added up to 30 seconds (8 lines
  per core in /proc/cpuinfo add up to 384 lines to parse).
  
  For a 96 core node, parsing took up to 5 minutes (!).
  
  I think the problem was introduced by [1], and can be summarized as:
  - CPU capabilities should be added only to the current CPU core,
    and NOT to all previous CPU cores parsed.
  
  My suggestion is dropping the loop in [1], thus calling the <addHint>
  and <describeCapability> only for currentcpu.
  
  I put together a small patch (basically removing the for loop in question)
  at [2] (or see attachement), which should be applied on top of version
  "02.16-2ubuntu1.3" from Ubuntu Trusty 14.04.
  
  After applying the patch at [2], parsing for the above system (48 cores)
  takes less than 1 second (instead of 30s), with the exact same results ...
  
  [1]
  https://github.com/lyonel/lshw/commit/beb89de5a3c10449fe73f1c77b2486d868e5bc9a
  #diff-f4010714738fa4cdd5999499579da2b3R217
  
  [2] http://paste.ubuntu.com/16456620/
  
  # lsb_release -rd
  Description:    Ubuntu 14.04.4 LTS
  Release:        14.04
  
  BR,
  Alex
  
- [Impact] 
+ [Impact]
  lshw takes too long time on parsing /proc/cpuinfo on aarch64 system
  It takes minutes on 96cores and almost 10min on 224cores system.
  
  [Test Case]
  `time sudo lshw` and it shall be less then 15sec
  
- [Regression Potential] 
- This patch only affect code for aarch64. No regression possible on other 
aarch64 and has been tested on aarch64
+ [Regression Potential]
+ This patch only affect code for aarch64. Lowest regression rick on other arch 
and has been tested on aarch64
  
  [Other Info]
  Patch has been merged into upstream branch.
  https://github.com/lyonel/lshw/commit/20cda77239e8604e798b87a0441e694edb0214d1

** Description changed:

  lshw on AArch64 hardware is painfully slow.
  This affects both lshw in current Ubuntu releases and vanilla upstream.
  
  For a 48 core node, cpuinfo parsing added up to 30 seconds (8 lines
  per core in /proc/cpuinfo add up to 384 lines to parse).
  
  For a 96 core node, parsing took up to 5 minutes (!).
  
  I think the problem was introduced by [1], and can be summarized as:
  - CPU capabilities should be added only to the current CPU core,
    and NOT to all previous CPU cores parsed.
  
  My suggestion is dropping the loop in [1], thus calling the <addHint>
  and <describeCapability> only for currentcpu.
  
  I put together a small patch (basically removing the for loop in question)
  at [2] (or see attachement), which should be applied on top of version
  "02.16-2ubuntu1.3" from Ubuntu Trusty 14.04.
  
  After applying the patch at [2], parsing for the above system (48 cores)
  takes less than 1 second (instead of 30s), with the exact same results ...
  
  [1]
  https://github.com/lyonel/lshw/commit/beb89de5a3c10449fe73f1c77b2486d868e5bc9a
  #diff-f4010714738fa4cdd5999499579da2b3R217
  
  [2] http://paste.ubuntu.com/16456620/
  
  # lsb_release -rd
  Description:    Ubuntu 14.04.4 LTS
  Release:        14.04
  
  BR,
  Alex
  
  [Impact]
  lshw takes too long time on parsing /proc/cpuinfo on aarch64 system
  It takes minutes on 96cores and almost 10min on 224cores system.
  
  [Test Case]
  `time sudo lshw` and it shall be less then 15sec
  
  [Regression Potential]
- This patch only affect code for aarch64. Lowest regression rick on other arch 
and has been tested on aarch64
+ This patch only modifies codes for aarch64. Lowest regression rick on other 
arch and has been tested on aarch64
  
  [Other Info]
  Patch has been merged into upstream branch.
  https://github.com/lyonel/lshw/commit/20cda77239e8604e798b87a0441e694edb0214d1

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1582181

Title:
  AArch64: slow cpuinfo due to redundant loop

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lshw/+bug/1582181/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to