--- Log opened Thu Apr 21 00:00:01 2022 00:10 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 01:01 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Remote host closed the connection] 01:02 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 01:05 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 02:12 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 02:14 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 04:18 -!- plankster [~plankster@user/plankers] has quit [Ping timeout: 240 seconds] 04:28 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 04:38 -!- Guyver2 [~Guyver@77-174-98-73.fixed.kpn.net] has joined #bitcoin-wizards 04:50 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 04:56 < roconnor> If congestion control has multiple stages, i.e. multiple paths to realize the same funds, where does bare CTV fit in, as bare CTV has no branches? 05:17 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Remote host closed the connection] 05:18 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 06:41 -!- Netsplit *.net <-> *.split quits: geyaeb, yanmaani, morcos, ghost43, bitdex 06:43 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 06:53 < jeremyrubin> congestion control doesn't necessarily require that 06:54 < jeremyrubin> my reasoning was that at the point where you have >1 path, then bare ctv doesn't really matter as much since the segwitv0/v1 overheads are marginally fewer 07:01 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-wizards 07:01 -!- morcos [~morcos@gateway/tor-sasl/morcos] has joined #bitcoin-wizards 07:02 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has joined #bitcoin-wizards 07:02 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 07:07 -!- yanmaani [~yanmaani@gateway/tor-sasl/yanmaani] has joined #bitcoin-wizards 07:09 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 07:19 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Remote host closed the connection] 07:20 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 07:48 -!- untor3h[m] [~untor3hma@2001:470:69fc:105::1:10ce] has joined #bitcoin-wizards 07:51 -!- untor3h[m] [~untor3hma@2001:470:69fc:105::1:10ce] has left #bitcoin-wizards [] 07:52 -!- untor3h[m] [~untor3hma@2001:470:69fc:105::1:10ce] has joined #bitcoin-wizards 09:12 -!- vysn [~vysn@user/vysn] has quit [Ping timeout: 240 seconds] 09:45 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 09:51 -!- Tiraspol [~Tiraspol@user/tiraspol] has quit [Ping timeout: 246 seconds] 09:51 -!- Tiraspol [~Tiraspol@c-98-220-224-193.hsd1.il.comcast.net] has joined #bitcoin-wizards 09:51 -!- Tiraspol [~Tiraspol@c-98-220-224-193.hsd1.il.comcast.net] has quit [Changing host] 09:51 -!- Tiraspol [~Tiraspol@user/tiraspol] has joined #bitcoin-wizards 10:06 -!- Tiraspol [~Tiraspol@user/tiraspol] has quit [Ping timeout: 276 seconds] 10:07 -!- Tiraspol [~Tiraspol@c-98-220-224-193.hsd1.il.comcast.net] has joined #bitcoin-wizards 10:07 -!- Tiraspol [~Tiraspol@c-98-220-224-193.hsd1.il.comcast.net] has quit [Changing host] 10:07 -!- Tiraspol [~Tiraspol@user/tiraspol] has joined #bitcoin-wizards 10:28 -!- shesek [~shesek@user/shesek] has joined #bitcoin-wizards 10:42 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 11:04 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 11:04 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 11:05 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Client Quit] 11:07 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 11:19 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 11:23 -!- tromp [~textual@77.249.230.40] has joined #bitcoin-wizards 11:39 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 11:39 -!- shesek [~shesek@user/shesek] has joined #bitcoin-wizards 12:24 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 12:34 -!- tromp [~textual@77.249.230.40] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 12:48 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 13:06 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has quit [Ping timeout: 240 seconds] 13:08 -!- geyaeb [~geyaeb@gateway/tor-sasl/geyaeb] has joined #bitcoin-wizards 13:31 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Quit: Leaving] 13:32 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-wizards 14:12 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 14:16 -!- jesseposner_ [~jesse@c-24-5-105-39.hsd1.ca.comcast.net] has quit [Quit: Textual IRC Client: www.textualapp.com] 14:16 -!- Guyver2 [~Guyver@77-174-98-73.fixed.kpn.net] has quit [Quit: Going offline, see ya! (www.adiirc.com)] 14:17 -!- jesseposner [~jesse@user/jesseposner] has joined #bitcoin-wizards 14:19 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 14:19 -!- shesek [~shesek@user/shesek] has joined #bitcoin-wizards 14:37 -!- shesek [~shesek@user/shesek] has quit [Remote host closed the connection] 14:37 -!- shesek [~shesek@user/shesek] has joined #bitcoin-wizards 14:44 < roconnor> Is this really how threading works in bitcoind? Don't you end up with a race condition for simply trying to set the m_bip119_cache_synchronizer? 14:44 < roconnor> maybe this is the wrong channel. 14:52 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has joined #bitcoin-wizards 15:12 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Remote host closed the connection] 15:19 < jeremyrubin> roconnor: heh, the code is pretty subtle 15:19 < jeremyrubin> it's not my first choice on how to implement it, but it was a part of addressing jamesob's feedback on a slight slowdown as well as a bitcoind library barrier preventing using synchro nizers directly 15:19 < jeremyrubin> to be clear, i'm not super happy with that code, but I do believe it to be correct and safe 15:20 < jeremyrubin> the thing to recall is there are two modes: single threaded and multithreaded 15:20 < jeremyrubin> to be safe multithreaded, you *must* pass a multithread safe initialization synchronizer 15:20 < jeremyrubin> if it's single threaded, then threading is irrelevant 15:21 < jeremyrubin> the only place we are multi-threaded is in validation.cpp 15:22 < jeremyrubin> so the code to look at is https://github.com/bitcoin/bitcoin/blob/2c3f8994c1a5fc97a82f1863ae1161b28b29e0f5/src/validation.cpp#L1664 15:22 < jeremyrubin> the call once blocks all other calls to call once until the first one finishes, and guarantees all writes are observed when the blocked ones are released 15:23 < jeremyrubin> https://en.cppreference.com/w/cpp/thread/call_once 15:24 < jeremyrubin> PrecomputedTransactionData::Init always happens single-threaded before any data is released for multi-threading 15:25 < jeremyrubin> the code has a single threaded version that emulates call once behavior by deleting the synchronizer after use 15:25 < jeremyrubin> but that code *should* only be reached from single threaded code, and is therefore safe 15:25 < jeremyrubin> is this ideal? No 15:26 < jeremyrubin> However, it should be safe 15:26 < jeremyrubin> and we have a build system rule that prevents use of certain sync primitives like call_once from being used from the interpreter 15:27 < jeremyrubin> i can't justify the rule, but i also can't really change it either as it would break some targets that it's not clear what the users of them are 15:27 < jeremyrubin> roconnor: fin 15:28 < jeremyrubin> tl;dr: run the code in your head in single threaded mode, then run it in your head in multi-threaded mode. it should work in either, but single threaded mode will not be safe in a multi threaded context 15:43 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 15:44 < roconnor> [18:24] PrecomputedTransactionData::Init always happens single-threaded before any data is released for multi-threading 15:44 < roconnor> I see. 15:48 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Ping timeout: 246 seconds] 15:54 < jeremyrubin> yeah so it's a bit subtle for that reason, but the only multithread context is currently in validation.cpp during block validation 15:55 < jeremyrubin> so where we do that, the multithreaded part of the code hands the data off under a mutex, so the PrecomputedData::Init must be fully written before that, but with the dependency injection of the BIP119LazyInit, we make the BIP119 fields synchronized externally and lazily 15:55 < jeremyrubin> it's way more clever than what i had before 15:56 < jeremyrubin> but it saves ~3% validation overhead to just always precompute 15:56 < jeremyrubin> very possible to drop those patches and do them later, since it just matters we could get the savings later 16:02 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 16:05 < jeremyrubin> roconnor: but overall yes, that is the most yikes-inducing code in CTV probably, and the least reviewed since it was only added a few months ago. so very glad to have you double check it over, and if you find a bug would definitely be in bounty scope :) 16:07 < jeremyrubin> would be cool to see a good valgrind test case with like.... thousands of CTV inputs to test it? i'm not sure how valgrind works exactly, but there could probably be a strong unit test that one could write to hammer that paradigm hard. 16:30 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Ping timeout: 240 seconds] 16:33 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Ping timeout: 240 seconds] 16:48 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 16:55 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Ping timeout: 240 seconds] 16:56 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 17:10 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 17:12 -!- shesek [~shesek@user/shesek] has quit [Read error: Connection reset by peer] 18:01 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 18:02 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has joined #bitcoin-wizards 18:14 -!- vysn [~vysn@user/vysn] has joined #bitcoin-wizards 18:27 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Ping timeout: 240 seconds] 18:29 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 18:30 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 18:49 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Ping timeout: 240 seconds] 18:50 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 19:04 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Ping timeout: 246 seconds] 19:07 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 19:07 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 19:29 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 19:29 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 19:34 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 19:34 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Quit: = ""] 19:34 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 19:35 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 19:38 -!- duderonomy [~duderonom@c-73-158-190-156.hsd1.ca.comcast.net] has quit [Quit: My MacBook has gone to sleep. ZZZzzz…] 19:38 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 19:39 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has quit [Remote host closed the connection] 19:39 -!- bitdex [~bitdex@gateway/tor-sasl/bitdex] has joined #bitcoin-wizards 19:41 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 19:41 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has joined #bitcoin-wizards 20:09 -!- solocshaw [~Thunderbi@gateway/vpn/pia/solocshaw] has quit [Ping timeout: 240 seconds] 20:36 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 20:36 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 20:51 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 20:52 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 20:55 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 20:57 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 21:02 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 21:14 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 21:14 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 21:34 -!- AaronvanW [~AaronvanW@user/AaronvanW] has quit [Ping timeout: 272 seconds] 21:38 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 21:38 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 21:49 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 21:49 -!- shesek__ [~shesek@user/shesek] has joined #bitcoin-wizards 22:24 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 22:27 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 22:29 -!- shesek__ [~shesek@user/shesek] has quit [Remote host closed the connection] 22:29 -!- plankster [~plankster@user/plankers] has joined #bitcoin-wizards 22:34 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has quit [Quit: My iMac has gone to sleep. ZZZzzz…] 22:59 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has quit [Read error: Connection reset by peer] 23:00 -!- dllud [~dllud@136.138.62.94.rev.vodafone.pt] has joined #bitcoin-wizards 23:04 -!- tromp [~textual@dhcp-077-249-230-040.chello.nl] has joined #bitcoin-wizards 23:08 -!- shesek_ [~shesek@user/shesek] has quit [Remote host closed the connection] 23:08 -!- shesek_ [~shesek@user/shesek] has joined #bitcoin-wizards 23:32 -!- AaronvanW [~AaronvanW@user/AaronvanW] has joined #bitcoin-wizards 23:52 -!- vtnerd [~weechat@173.21.102.33] has quit [Ping timeout: 256 seconds] --- Log closed Fri Apr 22 00:00:02 2022