hayodea
01ba68f2b5
livoxG1:OCLEngine: compile compactor program
2025-11-09 03:44:56 -04:00
hayodea
511f1796e8
livoxG1:slotCompactor.cl: mental-validate and refactor
2025-11-09 03:40:46 -04:00
hayodea
a0a5aa49ad
livoxG1: Add new OpenCl kernel to compact dgrams before collation
2025-11-09 02:39:09 -04:00
hayodea
d2e2d9bc3b
StagingBuffer: Prefer mlock to io_uring_register_buffers
2025-11-09 01:16:17 -04:00
hayodea
010ba9c7bd
Bugfix,IoUringEngn: fill unassembled slots w/dummy; use separate iovecs
...
We implemented the feature to fill unassembled slots w/dummy header
values for the livox pcloud header.
We also fixed a bug where io uring was writing into the last slot
only because we were using the same iovec for every SQE.
2025-11-09 00:55:58 -04:00
hayodea
72a3415553
Bugfix: Don't use eventfdDesc after stop()
...
We call stop() inside the assembleFrameReq3, so when it returns,
the eventfdDesc should be destroyed. Don't allow a possibly stale
eventfdDesc obj to permit us to re-arm the eventfdDesc read_some
call.
2025-11-08 23:09:14 -04:00
hayodea
a0ab5538df
StimBuff: Add mnemonic wrapper for unlocking frameAssmLimiter
2025-11-08 22:07:52 -04:00
hayodea
5b7b4f215a
IoUringAssmEngine: Acquire spinlock in stall timeout branch
2025-11-08 21:54:11 -04:00
hayodea
d8a3999ad5
PcloudStimBuff: call OClCollMessEngn::setup/finalize in start/stop
2025-11-08 12:23:13 -04:00
hayodea
5ff6a4ee0b
OClCollMeshEngn: implement start/stop/setup/finalize
2025-11-08 12:23:13 -04:00
hayodea
6a5bb47e0e
PcloudStimBuff: Add OpenClCollatingAndMeshingEngine instance
2025-11-08 12:23:10 -04:00
hayodea
073cdde08f
livoxG1: StagingBuff: add getClEngineIovec
2025-11-08 12:18:55 -04:00
hayodea
869160b782
Add bugs.log for heisenbugs
2025-11-08 11:29:27 -04:00
hayodea
e1042724fc
livoxGen1: nitpicking: use .-prefixed symbol for end
2025-11-08 11:11:05 -04:00
hayodea
28e56653ea
livoxGen1: unmangle symbols, add .sizes
2025-11-08 11:09:09 -04:00
hayodea
5dbed56e38
livoxG1: Make collateKernelNBytes a uint32_t for 32bit portability
2025-11-08 10:59:08 -04:00
hayodea
9233f7fdc8
livoxG1: Add OpenCl kernels for collation
2025-11-08 10:26:17 -04:00
hayodea
b460c8b2d3
CLTests: Add test for USE_HOST_PTR; fix build warnings
2025-11-08 02:07:43 -04:00
hayodea
bc56c83fad
Rename: OpenGlSplittingEngine=>OpenGlCollatingAndMeshingEngine
2025-11-08 01:48:56 -04:00
hayodea
cb493d7598
StagingBuff: set OpenCL constraints
2025-11-08 01:45:47 -04:00
hayodea
1c50fc0e29
StagingBuff: Move constructor into .cpp file
2025-11-08 00:21:24 -04:00
hayodea
7497f2fd95
StagingBuff: Enhance IoConstraints with frame constraints
...
Now StagingBuff instances must meed both frame and slot
constraints.
2025-11-08 00:15:29 -04:00
hayodea
5f11a9d6c7
VSCode: Highlight OpenCL C files as C
2025-11-07 23:05:49 -04:00
hayodea
0b21cdd2ba
OClSplitEngn: fix build warnings
2025-11-07 22:20:44 -04:00
hayodea
f5146738e1
PcloudStimBuff: Add collationBuffer
2025-11-07 22:07:27 -04:00
hayodea
479219db2d
StagingBuff: Unify constraints into IOEngineConstraints
2025-11-07 22:05:01 -04:00
hayodea
1afa085fd4
livoxProto1:Device: Spinlock guard heartbeat stop() for races
2025-11-07 21:36:00 -04:00
hayodea
7b092956c0
UdpCmdDemux: Guard start() w/spinlock for races
2025-11-07 21:12:40 -04:00
hayodea
e0c0976e0b
BcastListener: Guard start() w/spinlock for races
2025-11-07 21:12:05 -04:00
hayodea
887fa1ab6f
Bug:UdpCmdDemux: Add SpinLock for races around stop()
2025-11-07 20:45:16 -04:00
hayodea
7d2cb58200
Bug:BcastListener: Add SpinLock for races around stop()
2025-11-07 20:44:44 -04:00
hayodea
b598ca8594
libs: Add smohook for getting cmdline opts
2025-11-07 14:59:28 -04:00
hayodea
a7a85b0c1f
CMake:Boost: Try -DBOOST_ALL_DYN_LINK (didn't work)
2025-11-06 21:55:15 -04:00
hayodea
457d0f9345
Dbg:Add CallableTracer for callables post()ed to boost.asio
...
This class and its macro allow us to trace the invocation of
callbacks as they're invoked by Boost.asio.
2025-11-06 21:45:16 -04:00
hayodea
eeb057effd
Dbg:Threading: prefix thread names with "smo:" so they group
2025-11-06 15:09:15 -04:00
hayodea
c7e117b08e
Dbg:Threading: use pthread_setname_np for debugging ease
2025-11-06 15:04:04 -04:00
hayodea
af57c4dfd1
Boost: move top_ link fixer to top of files
2025-11-06 15:03:26 -04:00
hayodea
db30001140
livoxG1: Rename stagingBuffer=>assemblyBuffer
...
This is in preparation for re-using StagingBuffer to also serve
as the collation buffer that we'll use as the intermediate stage
for producing the final output mesh.
2025-11-06 14:09:10 -04:00
latentprion
d69636bf7b
IoUringAssmEngn: destroy prev cb obj
...
This should ensure that the sh_ptr<contin> from the prev object
gets destroyed properly.
2025-11-06 09:10:44 -04:00
hayodea
59a584561d
CMake:livoxGen1: advise on libOpenCL.so ubuntu pkg name
2025-11-06 09:09:51 -04:00
hayodea
f7aba4af4e
livoxGen1: find OpenCL using both CMake & pkgConfig
2025-11-06 09:02:05 -04:00
latentprion
21bbaf846e
Todo: update
2025-11-06 01:50:03 -04:00
hayodea
aacbdd5864
livoxGen1: Add OpenClSplittingEngine
2025-11-06 01:20:02 -04:00
hayodea
bb59f47549
IoUringAssmEngn: add assembleFrameReq
...
Invoke it instimFrameProductionTimesliceInd.
Also, we discovered:
* stream_descriptor::release() doesn't fully release all metadata
from the fd it was assigned. This suggests that we should go
through the codebase and do: release()=>reset() whenever we
wish to release().
* We've confirmed that spinlocks can be used to prevent race
conditions between stop() and handler methods.
2025-11-06 01:04:10 -04:00
hayodea
1c7277d141
SpinLock: add RAII Guard class
2025-11-05 22:38:04 -04:00
hayodea
d29ebafea0
IoUringAssmEngine: Add start/stop() for frame assembly.
...
With these two functions implemented, this class now actually
assembles frames.
2025-11-05 19:23:30 -04:00
hayodea
94982d50b9
IoUringAssmEngn: map StagingBuff w/mmap; reg w/io_uring; add eventFd
...
StagingBuffer:
We now allocate memory with mmap(MAP_ANONYMOUS) so that we can be
sure it can be pinned with io_uring_register_buffers(). This
ensures that if DMA is possible, it should be usable.
IoUringAssemblyEngine:
We now register an eventfd with io_uring so that we can listen
for CQEs with boost::asio.
2025-11-05 15:34:23 -04:00
hayodea
0503705a13
PcloudStimBuff: invoke IOUringAsmEngn::setup/stop in start()
2025-11-04 15:33:55 -04:00
hayodea
ef9eef2bc3
PCloudStimBuff: Add useful dbg msg for thread affinity rigour
2025-11-04 00:56:46 -04:00
hayodea
2b3b318abe
Formatting
2025-11-04 00:49:15 -04:00