** 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