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
hayodea
f3a4c69597
StimBuff: DevAttSpec should be a sh_ptr, not a plain ref
2025-11-04 00:47:01 -04:00
hayodea
032e9ef8d5
DevMgt: Update comments on bg daemon thread selection
2025-11-04 00:33:43 -04:00
hayodea
4a1bcb1516
TODO: update
2025-11-04 00:32:39 -04:00
hayodea
d6e1e7ebc0
DevMgmt: StimBuffApi bg tasks should execute on body thread
2025-11-04 00:32:14 -04:00
hayodea
9a4f80a9d6
libAttachmentSupport: convert into shared lib
...
This ensures that the support routines in this library will be
exposed at the same vaddr to each object in the vaddrspace.
2025-11-04 00:22:25 -04:00
hayodea
7a55a65589
LivoxProto1: Rename pcloudDataSocketDesc=>pcloudDataFdDesc
2025-11-03 23:22:50 -04:00
hayodea
14b97a52ed
IoUringAsmEngn: Use pcloudDataSocket from UdpCmdDemux
2025-11-03 23:10:24 -04:00
hayodea
5845f1a41d
Bug:Boost: Use shlibs instead of header-only for call_stack::top_
...
This symbol is defined as a static member object inside of a
boost detail header. When boost headers are used in a project
that uses Boost in both the main binary as well as dlopen()'d
shlibs, the top_ symbol gets duplicated and the metadata gets
partitioned.
We use the Boost shlib to unify both the main binary and the
shlibs to use the same memory address for top_.
This involves marking the templated object call_stack::top_ as
"extern" and then declaring to Boost that we intend to use the
shlibs.
2025-11-03 22:59:52 -04:00
hayodea
6ea90c2dae
Squash: into "make use of pcloudDataFdDesc"
2025-11-03 22:12:43 -04:00
hayodea
121b7db045
CMake:attachmentSupport: Don't link against Boost_LIBRARIES
2025-11-03 21:09:55 -04:00
hayodea
d88dd2cf44
livoxGen1: Make use of livoxProto1_getPcloudDataFdDesc
2025-11-02 19:16:22 -04:00
hayodea
b3bf0e2cb9
StimBuff,commonLibs: Add libattachmentSupport, move fnptrs into .cpp files
...
We move the methods in StimulusBuffer whose addresses are taken during
program execution into a separate static lib. This guarantees that
they'll have their own, single vaddr at runtime, at least within
each independent code module.
2025-11-02 19:12:28 -04:00
hayodea
45ad5c83ee
livoxProto1: Open pcloudDataSocket in UdpCmdDemux
...
The pcloudData socket is now opened by UdpCommandDemuxer, when
libLivoxProto1 is initialized. We can now just pick up the socket
and be certain it'll be there if the lib is being executed.
2025-11-01 22:41:58 -04:00
hayodea
10e615e75e
StimBuff: make start/stop virtual;
...
We can now have the derived StimBuff class implement its own
start()/stop() preamble and epilogue.
2025-11-01 22:05:52 -04:00
hayodea
05515743c5
Put continuation near frontend func
2025-11-01 21:33:35 -04:00
hayodea
b2c73f6bed
IoUringAssmEngine: Add skeleton setup/finalize
...
Also add dependency on liburing.
This patch adds basic io_uring_queue_init and io_uring_exit
support and calls.
2025-11-01 21:30:47 -04:00
hayodea
797a95e6a1
IoUringAssmEngine: formatting/indentation
2025-11-01 20:21:49 -04:00
hayodea
972979cc10
IoUringAssmEngine: Remove dead wood
2025-11-01 20:18:05 -04:00
hayodea
ba955ef633
PcloudStimBuff: Add skeleton assembleAndProduceStimulusFrameReq impl
2025-11-01 04:14:07 -04:00
hayodea
a32b4f05d1
livoxGen1: call PcloudStimulusBuffer::start/stop
...
We now call start()/stop() in attach/detachDeviceReq.
2025-11-01 03:32:05 -04:00
hayodea
c8474edad7
livox: rename handshakeTimeoutMs=>commandTimeoutMs
2025-11-01 02:45:24 -04:00
hayodea
58e9b09995
livoxGen1: Use RAII to close dlopen handle
2025-11-01 01:54:49 -04:00
hayodea
c2c6d409dd
DAPSpec: QualeIfaceApiParams: Add histbuffMs
2025-11-01 01:35:29 -04:00
hayodea
8dba0fdfc4
Todo: update
2025-11-01 01:26:51 -04:00