Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Less cs_main locks in quorums - #2702

Merged
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr
Feb 15, 2019
Merged

Less cs_main locks in quorums#2702
codablock merged 3 commits into
dashpay:developfrom
UdjinM6:dropcsmainqmgr

Conversation

@UdjinM6

Copy link
Copy Markdown

Avoid locking cs_main in CQuorumManager::UpdatedBlockTip() by splitting most of the functions it is using and moving cs_main lock outside. CLLMQUtils::IsQuorumActive() doesn't really need cs_main too.

@UdjinM6UdjinM6 added this to the 14.0 milestone Feb 14, 2019

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a small nit

}

{
// Find quorums which became inactive

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment should probably stay

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ooops. Fixed :)

@codablockcodablock left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK

@codablock
codablock merged commit 3e4286a into dashpay:developFeb 15, 2019
@UdjinM6
UdjinM6 deleted the dropcsmainqmgr branch November 26, 2020 13:26
Fuzzbawls added a commit to PIVX-Project/PIVX that referenced this pull request Aug 9, 2024
22efef0 No matter how fast we process sig shares, always force 100ms between sending (Alexander Block)
1bd0c2f Don't sleep in WorkThreadMain when CPU intensive work was done (Alexander Block)
40a247d Implement caching in CRecoveredSigsDb (Alexander Block)
6c63a77 Use CBLSLazySignature in CBatchedSigShares (Alexander Block)
bff6e6e CLLMQUtils::IsQuorumActive() shouldn't require cs_main to be held (UdjinM6)
fdba615 Introduce startBlockHeight to make things more explicit (Alexander Block)
7bca9a2 Correctly use SIGN_HEIGHT_OFFSET when checking for out of bound height (Alexander Block)
04b6a67 Reserve 4k of buffer for CSerializedNetMsg buffer (Alexander Block)
be1c4a7 Fix cleanup of old recovered sigs (Alexander Block)
Pull request description:
Backport dash PRs (in the following order):
dashpay#2640dashpay#2672dashpay#2674dashpay#2702dashpay#2705dashpay#2706dashpay#2707
NB: Some or them are partial backports since most of our llmq files are already updated to a more recent upstream version. So I basically ended up picking the commits that touch only the files `quorums_signing_shares.*` and `quorums_signing.*`
I suggest to review by checking each individual commit against the corresponding upstream one
ACKs for top commit: 22efef0
Liquid369:
tACK 22efef0
Duddino:
ACK 22efef0
Tree-SHA512: 94e5dcdef044524ad4fa4d1fadbe670d839a08ccadc39071ba9300cfc44ce3d19ba24dfef1a6c6745271139d43f43ea47ed5a29e06f0d94e13ff09957f8e0c10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@UdjinM6@codablock