News: 0001569864

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Linux 6.16.1 Fixes A Large Intel GPU Driver Performance Regression - Up To 30%

([Intel] 3 Hours Ago Up To 30% Hit)


Released on Friday were the Linux 6.16.1 and Linux 6.15.10 stable kernel point releases. Notable there is an Intel i915 kernel graphics driver performance regression fix with some users having reported as much as a 30% performance hit on prior Linux kernel versions.

Opened one month ago was [1]a bug report over a performance regression observed for a Core Ultra 7 155H "Meteor Lake" laptop seeing a 13% performance hit for Unigine Superposition and other regressions in the 1% to 10% range.

There was also another [2]bug report from five months ago reporting a regression up to 30% in GPU texture bandwidth testing and other 3% to 14% performance drops.

The good news is this regression is now fixed by [3]this patch that made it into the stable Linux kernel releases on Friday:

"After commit acd7ccb284b8 ("mm: shmem: add large folio support for tmpfs"), we extend the 'huge=' option to allow any sized large folios for tmpfs, which means tmpfs will allow getting a highest order hint based on the size of write() and fallocate() paths, and then will try each allowable large order.

However, when the i915 driver allocates shmem memory, it doesn't provide hint information about the size of the large folio to be allocated, resulting in the inability to allocate PMD-sized shmem, which in turn affects GPU performance.

Patryk added:

: In my tests, the performance drop ranges from a few percent up to 13% in Unigine Superposition under heavy memory usage on the CPU Core Ultra 155H with the Xe 128 EU GPU. Other users have reported performance impact up to 30% on certain workloads. Please find more in the regressions reports:

: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14645

: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13845

:

: I believe the change should be backported to all active kernel branches after version 6.12.

To fix this issue, we can use the inode's size as a write size hint in shmem_read_folio_gfp() to help allocate PMD-sized large folios."

That patch was initially merged for Linux 6.14. At least now for those on Linux 6.15.10 and Linux 6.16.1 (or Linux 6.17 Git), the regression should be fixed. The latest stable kernel point releases can be found via [4]kernel.org .



[1] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14645

[2] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13845

[3] https://lore.kernel.org/all/f7e64e99a3a87a8144cc6b2f1dddf7a89c12ce44.1753926601.git.baolin.wang@linux.alibaba.com/T/#u

[4] https://kernel.org/



phoronix

And he climbed with the lad up the Eiffelberg Tower. "This," cried the Mayor,
"is your town's darkest hour! The time for all Whos who have blood that is red
to come to the aid of their country!" he said. "We've GOT to make noises in
greater amounts! So, open your mouth, lad! For every voice counts!" Thus he
spoke as he climbed. When they got to the top, the lad cleared his throat and
he shouted out, "YOPP!"
And that Yopp... That one last small, extra Yopp put it over!
Finally, at last! From the speck on that clover their voices were heard!
They rang out clear and clean. And they elephant smiled. "Do you see what
I mean?" They've proved they ARE persons, no matter how small. And their
whole world was saved by the smallest of All!"
"How true! Yes, how true," said the big kangaroo. "And, from now
on, you know what I'm planning to do? From now on, I'm going to protect
them with you!" And the young kangaroo in her pouch said, "ME TOO! From
the sun in the summer. From rain when it's fall-ish, I'm going to protect
them. No matter how small-ish!"
-- Dr. Seuss "Horton Hears a Who"