On 14.08.24 13:06, Mateusz Guzik wrote:
On Wed, Aug 14, 2024 at 11:45 AM David Hildenbrand <david@xxxxxxxxxx> wrote:
On 14.08.24 06:10, Mateusz Guzik wrote:
On Wed, Aug 14, 2024 at 5:02 AM Yin Fengwei <fengwei.yin@xxxxxxxxx> wrote:
On 8/13/24 03:14, Mateusz Guzik wrote:
would you mind benchmarking the change which merely force-inlines _compund_page?
https://lore.kernel.org/linux-mm/66c4fcc5-47f6-438c-a73a-3af6e19c3200@xxxxxxxxxx/
This change can resolve the regression also:
Great, thanks.
David, I guess this means it would be fine to inline the entire thing
at least from this bench standpoint. Given that this is your idea I
guess you should do the needful(tm)? :)
Testing
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 5769fe6e4950..25e25b34f4a0 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -235,7 +235,7 @@ static __always_inline int page_is_fake_head(const struct page *page)
return page_fixed_fake_head(page) != page;
}
-static inline unsigned long _compound_head(const struct page *page)
+static __always_inline unsigned long _compound_head(const struct page *page)
{
unsigned long head = READ_ONCE(page->compound_head);
With a kernel-config based on something derived from Fedora
config-6.8.9-100.fc38.x86_64 for convenience with
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
add/remove: 15/14 grow/shrink: 79/87 up/down: 12836/-13917 (-1081)
[snip]
Total: Before=32786363, After=32785282, chg -0.00%
I guess there should be no opposition then?
Given that this is your patch I presume you are going to see this through.
I was hoping that you could send an official patch, after all you did
most of the work here.
I don't want any mention or cc on the patch, thanks for understanding :)
If I have to send it I will respect it.
--
Cheers,
David / dhildenb