[all-commits] [llvm/llvm-project] 218b50: [libc][rpc] Simplify mailbox state tracking
Jon Chesterfield via All-commits
all-commits at lists.llvm.org
Wed May 3 16:21:37 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 218b50a606370b176ef776ff98cdb8b21b54277f
https://github.com/llvm/llvm-project/commit/218b50a606370b176ef776ff98cdb8b21b54277f
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2023-05-04 (Thu, 04 May 2023)
Changed paths:
M libc/src/__support/OSUtil/gpu/io.cpp
M libc/src/__support/OSUtil/gpu/quick_exit.cpp
M libc/src/__support/RPC/rpc.h
M libc/test/integration/startup/gpu/rpc_test.cpp
Log Message:
-----------
[libc][rpc] Simplify mailbox state tracking
Removes the redundant Ack/Data bit manipulation.
Represents the inbox/outbox state with one bit instead of two. This will
be useful if we change to a packed representation and otherwise cuts the
runtime state space from 16 to 4.
Further simplification is possible, this patch is intentionally minimal.
- can_{send,recv}_data are now in == out
- {client,server}::try_open can be factored into Process:try_open
This implements the state machine of D148191, modulo differences in atomic
ordering and fences.
Reviewed By: jhuber6
Differential Revision: https://reviews.llvm.org/D149788
More information about the All-commits
mailing list