[all-commits] [llvm/llvm-project] df1dd8: [libc] Cache the most recently used slot for a chu...

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Jul 23 11:19:57 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: df1dd803b6a1b1dd514da5e7c1257c0b75592452
      https://github.com/llvm/llvm-project/commit/df1dd803b6a1b1dd514da5e7c1257c0b75592452
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-07-23 (Wed, 23 Jul 2025)

  Changed paths:
    M libc/src/__support/GPU/allocator.cpp

  Log Message:
  -----------
  [libc] Cache the most recently used slot for a chunk size (#149751)

Summary:
This patch changes the `find_slab` logic to simply cache the most
successful slot. This means the happy fast path is now a single atomic
load on this index. I removed the SIMT shuffling logic that did slab
lookups wave-parallel. Here I am considering the actual traversal to be
comparatively unlikely, so it's not overly bad that it takes longer.
ideally one thread finds a slot and shared it with the rest so we only
pay that cost once.

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list