Message ID | 20241020040200.939973-1-visitorckw@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Enhance min heap API with non-inline functions and optimizations | expand |
On Sun, Oct 20, 2024 at 12:01:50PM +0800, Kuan-Wei Chiu wrote: > Add non-inline versions of the min heap API functions in lib/min_heap.c > and updates all users outside of kernel/events/core.c to use these > non-inline versions. To mitigate the performance impact of indirect > function calls caused by the non-inline versions of the swap and > compare functions, a builtin swap has been introduced that swaps > elements based on their size. Additionally, it micro-optimizes the > efficiency of the min heap by pre-scaling the counter, following the > same approach as in lib/sort.c. Documentation for the min heap API has > also been added to the core-api section. What tree (and commit) this series is based on? Confused...
On Mon, Oct 21, 2024 at 04:33:37PM +0700, Bagas Sanjaya wrote: > On Sun, Oct 20, 2024 at 12:01:50PM +0800, Kuan-Wei Chiu wrote: > > Add non-inline versions of the min heap API functions in lib/min_heap.c > > and updates all users outside of kernel/events/core.c to use these > > non-inline versions. To mitigate the performance impact of indirect > > function calls caused by the non-inline versions of the swap and > > compare functions, a builtin swap has been introduced that swaps > > elements based on their size. Additionally, it micro-optimizes the > > efficiency of the min heap by pre-scaling the counter, following the > > same approach as in lib/sort.c. Documentation for the min heap API has > > also been added to the core-api section. > > What tree (and commit) this series is based on? > > Confused... > This patchset is based on Linus' tree, commit 715ca9dd687f ("Merge tag 'io_uring-6.12-20241019' of git://git.kernel.dk/linux"). Since it touches multiple subsystems, I'm not entirely sure which tree I should base it on. Should it be linux-next, perhaps? Regards, Kuan-Wei
On Sun, Oct 20, 2024 at 12:01:50PM +0800, Kuan-Wei Chiu wrote: > Add non-inline versions of the min heap API functions in lib/min_heap.c > and updates all users outside of kernel/events/core.c to use these > non-inline versions. To mitigate the performance impact of indirect > function calls caused by the non-inline versions of the swap and > compare functions, a builtin swap has been introduced that swaps > elements based on their size. Additionally, it micro-optimizes the > efficiency of the min heap by pre-scaling the counter, following the > same approach as in lib/sort.c. Documentation for the min heap API has > also been added to the core-api section. > Hi Kent, FWIW, here are the bcachefs CI test results for this patch series: https://evilpiepirate.org/~testdashboard/ci?user=visitorckw&branch=min-heap-update Regards, Kuan-Wei
On Mon, Oct 21, 2024 at 09:47:45PM +0800, Kuan-Wei Chiu wrote: > On Mon, Oct 21, 2024 at 04:33:37PM +0700, Bagas Sanjaya wrote: > > On Sun, Oct 20, 2024 at 12:01:50PM +0800, Kuan-Wei Chiu wrote: > > > Add non-inline versions of the min heap API functions in lib/min_heap.c > > > and updates all users outside of kernel/events/core.c to use these > > > non-inline versions. To mitigate the performance impact of indirect > > > function calls caused by the non-inline versions of the swap and > > > compare functions, a builtin swap has been introduced that swaps > > > elements based on their size. Additionally, it micro-optimizes the > > > efficiency of the min heap by pre-scaling the counter, following the > > > same approach as in lib/sort.c. Documentation for the min heap API has > > > also been added to the core-api section. > > > > What tree (and commit) this series is based on? > > > > Confused... > > > This patchset is based on Linus' tree, commit 715ca9dd687f ("Merge tag > 'io_uring-6.12-20241019' of git://git.kernel.dk/linux"). Since it > touches multiple subsystems, I'm not entirely sure which tree I should > base it on. Should it be linux-next, perhaps? Nope. Anyway, series applied for docs review. Thanks!