diff --git a/triage/2026/2026-03-31.md b/triage/2026/2026-03-31.md
new file mode 100644
index 000000000..8181bcff5
--- /dev/null
+++ b/triage/2026/2026-03-31.md
@@ -0,0 +1,142 @@
+# 2026-03-31 Triage Log
+
+We had some infrastructure troubles this week which prevented some rollup PRs from generating their
+"unrolled" builds, which made rollup regression investigation more complicated, although we were
+able to locate and revert the largest rollup regressions in the end. [#154304](https://github.com/rust-lang/rust/pull/154304) brought some nice improvements by optimizing the query system.
+
+Triage done by **@kobzol**.
+Revision range: [6f22f613..cf7da0b7](https://perf.rust-lang.org/?start=6f22f61305478df09f9a4523743f85d9f558c3d7&end=cf7da0b7277cad05b79f91b60c290aa08a17a6f0&absolute=false&stat=instructions%3Au)
+
+**Summary**:
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | 0.4% | [0.1%, 1.2%] | 4 |
+| Regressions ❌
(secondary) | 0.3% | [0.1%, 0.5%] | 12 |
+| Improvements ✅
(primary) | -0.8% | [-6.2%, -0.2%] | 58 |
+| Improvements ✅
(secondary) | -0.4% | [-1.9%, -0.1%] | 28 |
+| All ❌✅ (primary) | -0.8% | [-6.2%, 1.2%] | 62 |
+
+3 Regressions, 4 Improvements, 2 Mixed; 2 of them in rollups
+35 artifact comparisons made in total
+
+#### Regressions
+
+Rollup of 10 pull requests [#154289](https://github.com/rust-lang/rust/pull/154289) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=212b0d480f337082bbe1132d2b62be20e7e61f8a&end=9df83179a4fd7ddee7532e72abb23c76b8426f9a&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:----:|:------------:|:-----:|
+| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 3 |
+| Regressions ❌
(secondary) | 0.5% | [0.5%, 0.5%] | 1 |
+| Improvements ✅
(primary) | - | - | 0 |
+| Improvements ✅
(secondary) | - | - | 0 |
+| All ❌✅ (primary) | 0.2% | [0.2%, 0.2%] | 3 |
+
+- The unicode normalization blip was noise. The rest looks real, but the regressions are tiny and only on `doc` builds, and since we don't have unrolled builds here, I don't think it's worth it to go revert the individual PRs.
+- Marked as triaged.
+
+Rollup of 22 pull requests [#154384](https://github.com/rust-lang/rust/pull/154384) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=212ef7770dfad656782207fda799bdae28fc5b7b&end=80d0e4be6f15899649ba31669077c59a986f96cc&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:----:|:------------:|:-----:|
+| Regressions ❌
(primary) | 1.2% | [0.1%, 3.8%] | 53 |
+| Regressions ❌
(secondary) | 0.9% | [0.2%, 6.2%] | 45 |
+| Improvements ✅
(primary) | - | - | 0 |
+| Improvements ✅
(secondary) | - | - | 0 |
+| All ❌✅ (primary) | 1.2% | [0.1%, 3.8%] | 53 |
+
+- The regressions came from several pull requests.
+- [#154200](https://github.com/rust-lang/rust/pull/154200) caused compilation time and binary size regressions.
+ It was reverted in [#154468](https://github.com/rust-lang/rust/pull/154468), and there is now an
+ open PR ([#154532](https://github.com/rust-lang/rust/pull/154532)) to reapply it with some modifications.
+- [#154344](https://github.com/rust-lang/rust/pull/154344), an LLVM version update, caused the rest of the major compilation time regressions. The root cause commit was reverted in [#154511](https://github.com/rust-lang/rust/pull/154511).
+- Marked as triaged.
+
+constify `Step` trait and all of its `impl`ementations [#153821](https://github.com/rust-lang/rust/pull/153821) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=79531c53ded6316bd4973f60bc992954255b8b10&end=7e28c7438a7b0c79a09724ba799d32ed461beb72&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:----:|:------------:|:-----:|
+| Regressions ❌
(primary) | 0.8% | [0.4%, 1.2%] | 2 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | - | - | 0 |
+| Improvements ✅
(secondary) | - | - | 0 |
+| All ❌✅ (primary) | 0.8% | [0.4%, 1.2%] | 2 |
+
+- Some tiny regressions in debug and opt builds.
+- Asked for a follow-up.
+- Not marking as triaged yet.
+
+#### Improvements
+
+`DepNode` use improvements [#154076](https://github.com/rust-lang/rust/pull/154076) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6f22f61305478df09f9a4523743f85d9f558c3d7&end=212b0d480f337082bbe1132d2b62be20e7e61f8a&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | - | - | 0 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | - | - | 0 |
+| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.0%] | 12 |
+| All ❌✅ (primary) | - | - | 0 |
+
+
+Revert "Rollup merge of #154200 - resrever:enable-dwarf-call-sites, r=dingxiangfei2009" [#154468](https://github.com/rust-lang/rust/pull/154468) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0d4eb09831046687ccd28e8a570735e90f22004c&end=fb27476aaf1012f1f6ace6306f9b990e0d989c31&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | - | - | 0 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | -0.5% | [-1.0%, -0.2%] | 34 |
+| Improvements ✅
(secondary) | -0.6% | [-1.0%, -0.1%] | 25 |
+| All ❌✅ (primary) | -0.5% | [-1.0%, -0.2%] | 34 |
+
+
+resolve: Never lookup glob names in modules from other crates [#154472](https://github.com/rust-lang/rust/pull/154472) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fb27476aaf1012f1f6ace6306f9b990e0d989c31&end=3f3c6f45dc68eb71d1e01ae716bad4da164dfbf1&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | - | - | 0 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | -0.1% | [-0.2%, -0.1%] | 2 |
+| Improvements ✅
(secondary) | -0.2% | [-0.3%, -0.0%] | 11 |
+| All ❌✅ (primary) | -0.1% | [-0.2%, -0.1%] | 2 |
+
+
+[perf] Revert FastISel patch [#154511](https://github.com/rust-lang/rust/pull/154511) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=80ad55752e5ae6c2d1bc143b819eb8d1c00167d1&end=116458d0a5ae01cd517cabd2d1aee7f5457018ab&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | - | - | 0 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | -1.3% | [-3.2%, -0.1%] | 26 |
+| Improvements ✅
(secondary) | -1.2% | [-5.1%, -0.2%] | 13 |
+| All ❌✅ (primary) | -1.3% | [-3.2%, -0.1%] | 26 |
+
+
+#### Mixed
+
+rustc_expand: improve diagnostics for non-repeatable metavars [#154014](https://github.com/rust-lang/rust/pull/154014) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=80d0e4be6f15899649ba31669077c59a986f96cc&end=1174f784096deb8e4ba93f7e4b5ccb7bb4ba2c55&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | 0.2% | [0.1%, 0.3%] | 7 |
+| Regressions ❌
(secondary) | - | - | 0 |
+| Improvements ✅
(primary) | -0.1% | [-0.1%, -0.1%] | 1 |
+| Improvements ✅
(secondary) | -0.2% | [-0.2%, -0.2%] | 1 |
+| All ❌✅ (primary) | 0.2% | [-0.1%, 0.3%] | 8 |
+
+- Small regression on html5ever, it was deemed to be acceptable prior to merging.
+- Marked as triaged.
+
+Make typeck a tcx method which calls typeck_root query [#154304](https://github.com/rust-lang/rust/pull/154304) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=cd14b73b4a41542d921f59e362a5b5005fa4f2ef&end=a25435bcf7cfc9b953d356eda3a51db8da9e3386&stat=instructions:u)
+
+| (instructions:u) | mean | range | count |
+|:----------------------------------:|:-----:|:--------------:|:-----:|
+| Regressions ❌
(primary) | 0.2% | [0.2%, 0.2%] | 3 |
+| Regressions ❌
(secondary) | 0.3% | [0.3%, 0.3%] | 6 |
+| Improvements ✅
(primary) | -1.1% | [-6.1%, -0.2%] | 41 |
+| Improvements ✅
(secondary) | -0.7% | [-2.0%, -0.2%] | 11 |
+| All ❌✅ (primary) | -1.0% | [-6.1%, 0.2%] | 44 |
+
+- Many more improvements than regressions.
+- Marked as triaged.
+