Commit Graph

  • b0d61c3e38 DevMgr:at/detachSenseDevReq: Acquire DevMgr Qutex hayodea 2025-09-30 14:22:51 -04:00
  • 296e517389 SerAsyncContin: Make LockSet vector constructor arg mandatory hayodea 2025-09-30 14:22:12 -04:00
  • 758586bb3c LockerAndInvoker: Move template method impls around hayodea 2025-09-30 14:07:13 -04:00
  • ccf0ab77bf Move SerializedAsyncContin template method impls into header hayodea 2025-09-30 13:57:23 -04:00
  • 774661e1f0 AsyncContinChainLink: Make getCallersContinuationShPtr() const hayodea 2025-09-30 13:58:00 -04:00
  • 33b61f429a LockSet: Move method impls into template header hayodea 2025-09-30 13:36:17 -04:00
  • 7ded9d287d Split comment into relevant locations hayodea 2025-09-30 13:27:06 -04:00
  • a55bcc2a03 LockerAndInvoker: better var naming hayodea 2025-09-30 10:41:53 -04:00
  • f15c07bc83 LockSet:tryAcquireOrBackoff use optional<ref_wrapper<Qutex>> hayodea 2025-09-30 10:36:19 -04:00
  • e3ce533fe4 Use optional for type-safe retval hayodea 2025-09-30 10:22:28 -04:00
  • 2075c0b797 Get Lval for sh_ptr and fix build error hayodea 2025-09-30 03:53:47 -04:00
  • 37b8cb0c7f Lockvoker: Take singleton by ref and not by copy hayodea 2025-09-30 03:53:24 -04:00
  • 4ed36eb88a LockerAndInvoker: Reorder this to silence warning hayodea 2025-09-30 03:52:37 -04:00
  • e53b0be7e2 Lockset: make locks vec public so LockerAndInvoker can access hayodea 2025-09-30 03:51:36 -04:00
  • e299e956e5 Move LockSet::release into header hayodea 2025-09-30 02:59:14 -04:00
  • ca9eae197f Lockvoker: Add registerInLockSet hayodea 2025-09-30 02:55:25 -04:00
  • 08122c086c LockSet:tryAcquireOrBackoff: should take Qutex**, not Qutex* hayodea 2025-09-30 02:53:54 -04:00
  • cb8b13d0cd LockSet:release() Remove superfluous Lockvoker arg hayodea 2025-09-30 02:17:46 -04:00
  • 46686db07e SerializedAsyncContin: LockSet should take Qutex, not SpinLock hayodea 2025-09-30 02:12:04 -04:00
  • 97d93c670e Indentation hayodea 2025-09-30 01:15:02 -04:00
  • 9d77e8b345 SenseApiLib: Add qutex for lib state access serialization hayodea 2025-09-30 01:14:00 -04:00
  • 4bf19fda90 Get rid of rvalue ref returns hayodea 2025-09-30 00:37:54 -04:00
  • ed9635582f Lockvoker: add handleGridlock and invoke it hayodea 2025-09-30 00:32:54 -04:00
  • b7ff100499 VSCode config hayodea 2025-09-30 00:26:41 -04:00
  • d06ba8957a QtxAcqHistTracker: Implement complete algo; add depend graph hayodea 2025-09-30 00:24:33 -04:00
  • 1aec779351 CMake: Conditionally build QtxAcquisitionHistTracker hayodea 2025-09-29 21:09:31 -04:00
  • 6baa0bb008 Silence build warning hayodea 2025-09-29 20:48:49 -04:00
  • 274edc1013 QtxHistTracker: Print message on heuristic gridlock find hayodea 2025-09-29 20:47:04 -04:00
  • c0eecf76d4 QtxAcqHistTracker: Add spinlock and use it hayodea 2025-09-29 20:34:56 -04:00
  • 2390042892 QtxAcqHistTracker: implement heuristic gridlock detector hayodea 2025-09-29 20:02:23 -04:00
  • d32cb1ddac Lockvoker: print contin vaddr in false-positive ack hayodea 2025-09-29 19:46:44 -04:00
  • 0cf86cf18a Lockvoker: Gridlock only algo likely if heuristically likely hayodea 2025-09-29 19:43:28 -04:00
  • 5c7a92b3a4 SerializedAsyncContin:getAcquiredQutexHistory returns rval ref hayodea 2025-09-29 19:40:51 -04:00
  • 21da27649e Formattign hayodea 2025-09-29 19:30:20 -04:00
  • 71564b4d83 Add QutexAcquisitionHistoryTracker; integrate plumbing hayodea 2025-09-29 19:27:02 -04:00
  • 8123ec1227 Qutex: Deprecate old gridlock trace; add skeleton new trace hayodea 2025-09-29 18:14:10 -04:00
  • 2a60fdd9df Qutex: currOwner should use registered sh_ptr to Lockvoker hayodea 2025-09-29 14:37:16 -04:00
  • 462247d743 Qutex: Add gridlock detection hayodea 2025-09-29 13:38:53 -04:00
  • 6b4fe05fc0 Qutex: Add gridlock detection wireframing hayodea 2025-09-29 12:58:41 -04:00
  • 0090aa6e3a Qutex: Add getter for currOwner pointer hayodea 2025-09-29 12:46:58 -04:00
  • 7e514a1fa3 Qutex: Add currOwner pointer for debugging hayodea 2025-09-29 12:40:43 -04:00
  • f1ce1ab19c xcbWindow: Callback w/early ret if window not found hayodea 2025-09-29 12:19:03 -04:00
  • 542e3081ad DevReattacher: Use aggregate init for Callback<> hayodea 2025-09-29 01:59:52 -04:00
  • 65b9460a3a LivoxProto1:connectReq: Remove retryDelay; DevReattacher replaces hayodea 2025-09-29 01:18:36 -04:00
  • cea65dcd00 Mrntt: Call initializeDeviceReattacher in init hayodea 2025-09-29 01:07:32 -04:00
  • 6cebf6856e Indentation hayodea 2025-09-28 23:35:20 -04:00
  • 20d568a063 DevMgr: Call attachAll*FromKnownListReq in DeviceReattacher hayodea 2025-09-28 23:26:44 -04:00
  • bd52e49ba3 DevMgr: Add attachAllUnattachedDevicesFromKnownListReq hayodea 2025-09-28 23:15:22 -04:00
  • 93103aa8d4 DevMgr: Add DeviceReattacher daemon plumbing hayodea 2025-09-28 23:07:39 -04:00
  • 2be78401b5 Center logo hayodea 2025-09-28 15:18:54 -04:00
  • eca3f47884 Add 512 and 256p logos hayodea 2025-09-28 15:15:40 -04:00
  • f3909fc000 New salmanoff logo hayodea 2025-09-28 15:08:47 -04:00
  • c0798d1bdb DevMgr: detachAll only detaches from attachedDeviceRoles hayodea 2025-09-28 13:04:07 -04:00
  • e45a9ee5d1 DAP.yy: use cmdlineDASpecs; DevMgr: add attachAllUnattachedDevicesFromCmdlineReq hayodea 2025-09-28 12:52:59 -04:00
  • b43ffcb677 DevMgr: attachAllUnattachedDevsFrom: now takes sh_ptr<vector<Spec>> hayodea 2025-09-28 12:39:45 -04:00
  • 2c60248127 DevMgr: Rename at/detachAll*Req(): hayodea 2025-09-28 12:19:56 -04:00
  • 993bf568fc DevMgr: implement removeDeviceAttachmentSpecReq hayodea 2025-09-28 11:41:20 -04:00
  • 27e707a22d DevMgr:newDevAttSpecInd: take ref & not sh_ptr to DASpec hayodea 2025-09-28 11:14:55 -04:00
  • 7ab6e7b2c3 Formatting hayodea 2025-09-28 11:05:04 -04:00
  • 5b2354bfe0 DevMgr:newDevAttSpecInd: creates Device in frontend hayodea 2025-09-28 10:57:43 -04:00
  • 42ab935da6 Reorder operations hayodea 2025-09-28 09:19:09 -04:00
  • 572a8612ed DevMgr,Dev: Add Qutexes hayodea 2025-09-28 01:27:32 -04:00
  • 51b70b179c DevMgr: call newDevAttSpecInd & not attDevReq in body:initReq hayodea 2025-09-28 01:15:36 -04:00
  • 1a56e2a107 DevMgr: Add DeviceRoles; attachedDevices unrelated to device state now hayodea 2025-09-28 00:50:05 -04:00
  • e6b8d3e85d DevMgr: Move at/detachSenseDevs[FromSpecs] into DeviceMgr:: hayodea 2025-09-27 23:16:46 -04:00
  • 52567406ca Lockset: check for registration b4 unregistering hayodea 2025-09-27 22:22:35 -04:00
  • 2f18ade4ab Locking: pre-emptively detect deadlocks in Lockvoker constructor hayodea 2025-09-27 21:27:04 -04:00
  • f8bf8083af Locking: Add contin tracing to detect deadlocks hayodea 2025-09-27 20:51:20 -04:00
  • 782bcd4567 Async: add sh_ptr<ContinuationChainLink> to Callback<> hayodea 2025-09-27 18:30:09 -04:00
  • 2212aec080 VScode stuff that didn't work to make it use /b and not /build hayodea 2025-09-22 21:32:17 -04:00
  • d0303becd7 Async: Add a new Callback class for accessing caller's contin hayodea 2025-09-22 21:30:33 -04:00
  • 27bebeb702 Squash: Into debug locks commit hayodea 2025-09-22 21:30:14 -04:00
  • 09a0041f20 Squash: into debug locks intro commit hayodea 2025-09-22 21:29:43 -04:00
  • c6c3d6c9e8 Todo: Update hayodea 2025-09-22 20:49:00 -04:00
  • 092a0954a0 Locking: Add basic reactive deadlock detection foundation hayodea 2025-09-22 20:45:36 -04:00
  • d2ed525106 Debug:Qutex: Add deadlock detection based on elapsed time hayodea 2025-09-21 15:11:28 -04:00
  • dbc9569775 Async: Add exception bubbling hayodea 2025-09-21 14:17:23 -04:00
  • 1e2cc5ef16 scripts: Add sloc hayodea 2025-09-20 19:57:13 -04:00
  • 31cadb2ee4 Test: Add googletest; Add qutex_tests.cpp hayodea 2025-09-20 19:41:57 -04:00
  • 329d57a16d Formatting hayodea 2025-09-20 18:23:03 -04:00
  • 32179eee5e Qutexes: Implement them and supporting classes hayodea 2025-09-20 18:16:46 -04:00
  • f05c465d61 Docs:Qutexes Update design but it's not reflective of impl hayodea 2025-09-20 18:14:17 -04:00
  • 79c50ff191 Docs: Qutex.md: update hayodea 2025-09-19 21:36:59 -04:00
  • d10217f3f5 Docs: update qutex algo plan hayodea 2025-09-19 18:52:27 -04:00
  • 4b0e832e27 Asnc: LockSet is now a member of serializedAsyncCont; not base class hayodea 2025-09-19 01:32:52 -04:00
  • dd9ce63cb8 Locking:Qutex: Skeleton for Qutex class hayodea 2025-09-19 01:19:09 -04:00
  • b9322c5e89 Docs: Qutex updated notes -- still WIP hayodea 2025-09-19 01:18:19 -04:00
  • 2dfa615eb7 Rename: lockSpec.h=>lockSet.h hayodea 2025-09-18 23:03:39 -04:00
  • 596bc1fbd2 SpinLock: Add acquire/release() and spinPause() hayodea 2025-09-18 22:58:09 -04:00
  • ec50526804 Rename: LockSpec=>LockSet hayodea 2025-09-18 22:21:06 -04:00
  • eb3366cfd2 Async: Move callOriginalCb out of AsyncCont base, into NonPostedAC hayodea 2025-09-18 22:10:17 -04:00
  • b49e281010 Docs: New qutexes design hayodea 2025-09-18 20:29:37 -04:00
  • 9a23dbbe95 Whitespace hayodea 2025-09-17 18:18:09 -04:00
  • 5a3c0699f7 Locking: Add LockerAndInvoker to provide spinQing behaviour hayodea 2025-09-17 16:35:26 -04:00
  • 816a047920 Async: new hierachy; manages reply posting and unlocking Async: Use new [Non]PostedAsyncCont and callOriginalCb hayodea 2025-09-17 16:32:20 -04:00
  • 33c006b178 Locking: Add LockSpec class which manages sets of spinlocks hayodea 2025-09-17 16:29:58 -04:00
  • 0733bb9a68 Locking: add SpinLock class hayodea 2025-09-17 16:28:07 -04:00
  • eeaa4ed2df CMake: Add preliminary CPack support hayodea 2025-09-16 22:19:48 -04:00
  • 0788bbd799 Cmake,DAPS: Add support for DAPS preprocessing hayodea 2025-09-16 21:30:50 -04:00
  • a6eccede4a DAPSpecs: Formatting hayodea 2025-09-16 20:44:46 -04:00