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
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
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
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
f3a4c69597
StimBuff: DevAttSpec should be a sh_ptr, not a plain ref
2025-11-04 00:47:01 -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
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
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
67af9f02da
DAPSpecs: Update parseRequiredParamAsInt to support all param lists
2025-11-01 01:11:34 -04:00
hayodea
9cf1398f5c
PcloudStimBuff: specify that openCl constraints are for input
2025-11-01 00:19:06 -04:00
hayodea
f76f718e80
PcloudStimBuff: make OpenCL constraints explicit
2025-11-01 00:17:10 -04:00
hayodea
cdade17905
Add SpMcRingBuffer to base class StimulusBuffer
...
This will hopefully genericise the interface for Stimbuffs.
2025-11-01 00:09:53 -04:00
hayodea
5af7e531b6
Style: use modern C++ style
2025-11-01 00:05:43 -04:00
hayodea
7574f3f59a
StimBuff: customize stop() delay; add stimFrameProductionTimesliceInd
2025-10-31 13:54:50 -04:00
hayodea
ebbb2b1345
StimBuff: Add skeleton common impl with rate limiting
2025-10-31 13:43:23 -04:00
hayodea
f32a472c5d
PcloudStimBuff: Add skeleton daemon; frame rate limiting
...
Basic implementation of the stimbuff mechanism's frame rate
limiting behaviour.
2025-10-31 12:22:07 -04:00
hayodea
9ab155560a
livoxGen1:ioUringAssmEngine: Fix build
2025-10-31 11:49:56 -04:00
hayodea
5c3bc6c324
livoxGen1: Reduce nDgramsPerFrame 500=>30 ~86400 points/sec
2025-10-31 11:27:43 -04:00
hayodea
b53ef42124
livoxGen1: documentation and formatting
2025-10-31 08:57:37 -04:00
hayodea
babfda4d0f
livoxGen1: Reduce handshakeTimeoutMs default to 5ms
...
We have no real reason to set it as high as 300.
2025-10-31 08:57:37 -04:00
hayodea
7b6bfbad68
Fix linker error
2025-10-31 08:57:37 -04:00
hayodea
b3d0565e11
livoxGen1: Committing intermediate state before daemon design
2025-10-31 08:57:37 -04:00
hayodea
287dd6be56
livoxGen1: Fix include name
2025-10-31 08:57:37 -04:00
hayodea
0b2fde3484
livoxGen1:StaginBuffer: simplify buff size/stride calcs
2025-10-31 08:57:37 -04:00
hayodea
c1286627ab
LivoxGen1: attachDevReq sets nDgramsPerFrame
2025-10-31 08:57:37 -04:00
hayodea
2234df1de2
livoxGen1:attach: alloc PcloudStimBuff after getting return mode
2025-10-31 08:57:37 -04:00
hayodea
7efe622dd2
livoxGen1:attach: call getReturnModeReq before enPcloudDataReq
2025-10-31 08:57:37 -04:00
hayodea
f8c5fad841
AssemblyBuffer changes
2025-10-31 08:57:37 -04:00