[libc-commits] [PATCH] D148600: Rebase D148288 and associated test commits by jhuber6 on D148191

Jon Chesterfield via Phabricator via libc-commits libc-commits at lists.llvm.org
Mon Apr 17 19:17:03 PDT 2023


JonChesterfield created this revision.
JonChesterfield added reviewers: jhuber6, jdoerfert, tianshilei1992, michaelrj, sivachandra, tra, gchatelet.
Herald added subscribers: libc-commits, kosarev, mattd, asavonic, kerbowa, jvesely.
Herald added projects: libc-project, All.
JonChesterfield requested review of this revision.

[Not to land] Rebase D148288 <https://reviews.llvm.org/D148288> and associated tests on D148191 <https://reviews.llvm.org/D148191>

Apologies for the sequence of commits mashed together, I don't know how to untangle
them in phab from the github fork Joseph pointed me to. This isn't a patch to land,
creating for discussion. It's also somewhat messy - the interface from D148288 <https://reviews.llvm.org/D148288>,
namely alternating send/recv model - and the state in the Port instance are unchanged
and don't mesh particularly cleanly with the previous patch.

Handle server leaks ports in D148288 <https://reviews.llvm.org/D148288>, could have been a compile time error
Odd number of send/recv calls in D148288 <https://reviews.llvm.org/D148288> will leave ports that can never be opened again
The ack/data distinction is not necessary to encode the desired send/recv model

Tests pass as before. The simplified bitmap hacked together for D148585 <https://reviews.llvm.org/D148585> doesn't work so
this patch uses the real one.

Primary change is to drop the ack/data distinction in favour of inbox==outbox implies
ownship and inbox != outbox implies the other process owns the buffer. This seems to be
the primary difference in modelling the domain between the two patches.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D148600

Files:
  libc/cmake/modules/LLVMLibCTestRules.cmake
  libc/src/__support/CPP/atomic.h
  libc/src/__support/OSUtil/gpu/io.cpp
  libc/src/__support/OSUtil/gpu/io.h
  libc/src/__support/OSUtil/gpu/quick_exit.cpp
  libc/src/__support/RPC/rpc.h
  libc/startup/gpu/amdgpu/start.cpp
  libc/startup/gpu/nvptx/start.cpp
  libc/test/integration/startup/gpu/CMakeLists.txt
  libc/test/integration/startup/gpu/rpc_test.cpp
  libc/utils/gpu/loader/CMakeLists.txt
  libc/utils/gpu/loader/Loader.h
  libc/utils/gpu/loader/Main.cpp
  libc/utils/gpu/loader/Server.h
  libc/utils/gpu/loader/amdgpu/CMakeLists.txt
  libc/utils/gpu/loader/amdgpu/Loader.cpp
  libc/utils/gpu/loader/nvptx/CMakeLists.txt
  libc/utils/gpu/loader/nvptx/Loader.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148600.514502.patch
Type: text/x-patch
Size: 42219 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230418/921bf138/attachment-0001.bin>


More information about the libc-commits mailing list