-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[electron26] Severe performance regression when running Code OSS #1
Comments
electron v26.0.0 (chromium 116, swiftshader llvm 16) is bad |
electron v26.0.0-nightly.20230510 (chromium 114, swiftshader llvm 10) is good (but this build crashes frequently). Bisection range shrink to v26.0.0-nightly.20230510..v26.0.0-nightly.20230524 (chromium 114.0.5719.0..115.0.5786.0). |
electron v26.0.0-nightly.20230510r1 (chromium 115.0.5760.0, swiftshader llvm 10) is good. Bisection range is shrinked to v26.0.0-nightly.20230510r1..v26.0.0-nightly.20230524 (chromium 115.0.5760.0..115.0.5786.0). |
electron v26.0.0-nightly.20230523 (chromium 115.0.5760.0, swiftshader llvm 10) is good. The bisection of electron is almost done. It's mostly confirmed that the bad commit is in chromium 115.0.5760.0..115.0.5786.0. The next step is to bisect chromium. |
electron v26.0.0-nightly.20230523cr5773.5 (chromium 115.0.5773.5, swiftshader llvm 10) is good. |
electron v26.0.0-nightly.20230523cr5778.0 (chromium 115.0.5778.0, swiftshader llvm 10) is bad. electron-v26.0.0-nightly.20230523cr.6a609fb2d6c29 (v8 11.5.138 revision 0f44e4c2a6fe21c4ef4cf1f1fba2aa145209d91d) is bad. The bisection of chromium is done. The bad commit is 6a609fb2d6c29f25c2dbce26afa165c0e80f4768:
The next step is to bisect v8: https://chromium.googlesource.com/v8/v8/+log/5e9b891a..0f44e4c2 |
electron v26.0.0-nightly.20230523cr.6a609fb2d6c29.v8.8d8a6c1 is good. V8 commits left to bisect:
I am almost certain f6d1991 is the bad commit by looking at the code. |
electron-v26.0.0-nightly.20230523cr.6a609fb2d6c29 (v8 11.5.138) with patch 4195a2b is good. |
Upstream V8 patch: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Fixed in v29.4.0.riscv2, v29.4.2.riscv2, v30.1.0.riscv2, v30.1.0.riscv2, v27.3.11.riscv2, v26.6.10.riscv2, v28.3.3.riscv2 |
Fix performance regression bisected in riscv-forks/electron#1 . Upstreamed to V8: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 . Will upstream it to nodejs once the V8 change is merged.
CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349}
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852
Fix performance regression bisected in riscv-forks/electron#1 . Upstreamed to V8: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 . Will upstream it to nodejs once the V8 change is merged.
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: #53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Update chromium riscv patch set for 126 (also used in electron31 here: riscv-forks/electron@c8e556a) Notably, - Update sandbox patch to latest version in upstream gerrit to fix crash due to sandbox blocked riscv_hwprobe. (Actually this should be fixed in version 125) - Retrieve fix-rust-target.patch from elsewhere due to GitHub patch checksum mismatch - Fix v8 performance regression: riscv-forks/electron#1
Update chromium riscv patch set for 126 (also used in electron31 here: riscv-forks/electron@c8e556a) Notably, - Update sandbox patch to latest version in upstream gerrit to fix crash due to sandbox blocked riscv_hwprobe. (Actually this should be fixed in version 125) - Retrieve fix-rust-target.patch from elsewhere due to GitHub patch checksum mismatch - Fix v8 performance regression: riscv-forks/electron#1
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: #53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: nodejs#53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: nodejs#53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: nodejs#53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: nodejs#53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Original commit message: [riscv] avoid cpu probing in li_ptr CPU probing is an expensive thing to do and we should avoid doing it upon every li_ptr call. Fixes performance regresion bisected in riscv-forks/electron#1 Change-Id: Ib5ff89b2a730e08de6735123ae60adeffe811ed8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5612950 Commit-Queue: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Yahan Lu <yahan@iscas.ac.cn> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/main@{#94349} Refs: v8/v8@a3cc852 PR-URL: nodejs#53412 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Pick up some chromium/v8 patches to - Fix v8 performance regression (riscv-forks/electron#1) - Fix rdcycle SIGILL on linux >= 6.6 (riscv-forks/electron#2) There's no riscv specific security patch needs backporting for this release. Use nodejs in makedepends again because it seems nodejs no longer hangs when building this package in qemu.
Pick up some chromium/v8 patches to - Fix v8 performance regression (riscv-forks/electron#1) - Fix rdcycle SIGILL on linux >= 6.6 (riscv-forks/electron#2) There's no riscv specific security patch needs backporting for this release. Fix rotten and use nodejs in makedepends again because it seems nodejs no longer hangs when building this package in qemu.
Pick up some chromium/v8 patches to - Fix v8 performance regression (riscv-forks/electron#1) - Fix rdcycle SIGILL on linux >= 6.6 (riscv-forks/electron#2) There's no riscv specific security patch needs backporting for this release. Fix rotten and use nodejs in makedepends again because it seems nodejs no longer hangs when building this package in qemu.
When running Code OSS with electron 26, 27 and 28, a severe performance regression renders it unusable.
Performance results:
It appears that we need to bisect [electron25.9.8, electron26.6.7] (corresponds to [chromium 114, chromium116]) to find the problematic commit.
The text was updated successfully, but these errors were encountered: