Commit graph

542 commits

Author SHA1 Message Date
ivanlele
b766b3f8c8
Merge 19f277711e into merged_master (Bitcoin PR bitcoin/bitcoin#26593) 2026-04-02 15:08:15 +00:00
Tom Trevethan
a7e8a376fa Merge 74fb19317a into merged_master (Bitcoin PR bitcoin/bitcoin#30849) 2026-03-31 23:04:42 +01:00
ivanlele
a51624f2ed
Merge d4cc0c6845 into merged_master (Bitcoin PR bitcoin/bitcoin#30750) 2026-03-24 11:43:55 +00:00
ivanlele
23859ef13f
Merge 24ced52744 into merged_master (Bitcoin PR bitcoin/bitcoin#28687) 2026-03-12 13:25:17 +00:00
ivanlele
8d69f4b94d
Merge 5c0cd205a1 into merged_master (Bitcoin PR bitcoin/bitcoin#29625) 2026-03-03 15:43:14 +00:00
ivanlele
bc5595301f
Merge 2251460f3e into merged_master (Bitcoin PR bitcoin/bitcoin#28830) 2026-02-26 11:59:42 +00:00
ivanlele
51e3c1c05c
Merge f5fc3190fb into merged_master (Bitcoin PR bitcoin/bitcoin#29086) 2026-02-20 13:59:29 +00:00
ivanlele
06562f4d6a
Merge 2a07c4662d into merged_master (Bitcoin PR bitcoin/bitcoin#29757) 2026-02-18 15:43:50 +00:00
ivanlele
2a93e106f2
Merge 61de64df67 into merged_master (Bitcoin PR bitcoin/bitcoin#29724) 2026-02-17 10:41:38 +00:00
Tom Trevethan
8252d23042 Merge c2dbbc35b9 into merged_master (Bitcoin PR bitcoin/bitcoin#29242) 2026-02-16 23:03:52 +00:00
ivanlele
81a17ea31a Merge c07935bcf5 into merged_master (Bitcoin PR #28960) 2026-02-12 16:33:05 +00:00
Byron Hambly
474dd0f6f9 Merge 7143d43884 into merged_master (Bitcoin PR bitcoin/bitcoin#28948) 2025-12-03 19:08:52 +00:00
Byron Hambly
dc732e22fa
Merge 651fb034d8 into merged_master (Bitcoin PR bitcoin/bitcoin#29260) 2025-11-18 13:39:34 +02:00
Byron Hambly
c99f0e4a16
Merge dd391944dc into merged_master (Bitcoin PR bitcoin/bitcoin#28863) 2025-11-17 20:53:12 +02:00
Byron Hambly
ace23d7b9b
Merge a97a89244e into merged_master (Bitcoin PR bitcoin/bitcoin#28368) 2025-11-11 14:35:48 +02:00
Byron Hambly
c21dfe5a42
Merge 535424a10b into merged_master (Bitcoin PR bitcoin/bitcoin#28903) 2025-11-11 10:43:21 +02:00
Byron Hambly
26b9abc2f2
Merge b5a271334c into merged_master (Bitcoin PR bitcoin/bitcoin#28922) 2025-11-11 08:56:23 +02:00
Byron Hambly
d37a031e7e
Merge d232e36abd into merged_master (Bitcoin PR bitcoin/bitcoin#28207) 2025-11-06 11:32:58 +02:00
Byron Hambly
d55f2b27cb
Merge dd5f5713bc into merged_master (Bitcoin PR bitcoin/bitcoin#28391) 2025-11-06 11:13:40 +02:00
Byron Hambly
69492d27da
Merge 08ea835220 into merged_master (Bitcoin PR bitcoin/bitcoin#28583) 2025-08-07 10:05:15 +02:00
Byron Hambly
9250f7cb6b
Merge 2303fd2f43 into merged_master (Bitcoin PR bitcoin/bitcoin#28471) 2025-08-04 10:23:30 +02:00
Byron Hambly
1c95683b4f
Merge 3966b0a0b6 into merged_master (Bitcoin PR bitcoin/bitcoin#28472) 2025-08-04 09:26:56 +02:00
Byron Hambly
b5fa48988e Merge f1a9fd627b into merged_master (Bitcoin PR bitcoin/bitcoin#28251) 2025-07-21 13:58:00 +02:00
Byron Hambly
ca14c27f1b Merge 00fc7cdc25 into merged_master (Bitcoin PR bitcoin/bitcoin#28200) 2025-07-05 07:45:03 +02:00
Byron Hambly
27a302a296 Merge a62f5ee86c into merged_master (Bitcoin PR bitcoin/bitcoin#27675) 2025-07-04 09:56:00 +02:00
Byron Hambly
be5e9e1a5e Merge 7c66a4b610 into merged_master (Bitcoin PR bitcoin/bitcoin#28059) 2025-07-03 15:04:19 +02:00
Byron Hambly
f60b1bc9ee Merge d1ae96755a into merged_master (Bitcoin PR bitcoin/bitcoin#27890) 2025-06-27 15:40:28 +02:00
Byron Hambly
4bbb50081b Merge 58b36fc303 into merged_master (Bitcoin PR bitcoin/bitcoin#23962) 2025-06-27 14:26:15 +02:00
Byron Hambly
6b602eff8d Merge 1af72e728d into merged_master (Bitcoin PR bitcoin/bitcoin#27501) 2025-06-27 11:42:46 +02:00
Byron Hambly
edc585d157 Merge 9564f98fee into merged_master (Bitcoin PR bitcoin/bitcoin#27636) 2025-06-25 11:40:46 +02:00
Byron Hambly
0d64b264ee Merge 0f8c95dccd into merged_master (Bitcoin PR bitcoin/bitcoin#27021) 2025-06-20 21:39:19 +02:00
Byron Hambly
974c4bd0b9 Merge 137a98c5a2 into merged_master (Bitcoin PR bitcoin/bitcoin#27610) 2025-06-20 10:57:34 +02:00
Byron Hambly
5ac82e15a9 Merge 669af32632 into merged_master (Bitcoin PR bitcoin/bitcoin#27419) 2025-05-09 11:47:45 +02:00
Thomas Trevethan
b49bfac365 Merge 60f142e395 into merged_master (Bitcoin PR bitcoin/bitcoin#26531) 2025-04-11 14:45:16 +01:00
Byron Hambly
2ba842104d Merge 550e6bd227 into merged_master (Bitcoin PR bitcoin/bitcoin#26935) 2025-04-05 10:57:32 +02:00
Byron Hambly
86799b1cb9 Merge 2cfe379623 into merged_master (Bitcoin PR bitcoin/bitcoin#26823) 2025-04-01 19:42:10 +02:00
Byron Hambly
3d63f2c634 Merge 03254c2229 into merged_master (Bitcoin PR bitcoin/bitcoin#19909) 2025-04-01 10:26:45 +02:00
Byron Hambly
80b3fcae86 Merge 80fc1af096 into merged_master (Bitcoin PR bitcoin/bitcoin#26289) 2025-04-01 09:10:14 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Byron Hambly
da8b6f2f7f
Merge d0b1f613c2 into merged_master (Bitcoin PR bitcoin/bitcoin#17786) 2025-03-03 11:12:31 +02:00
Byron Hambly
7ea69ff0d8
Merge UP TO 48174c0f28 into merged_master (UP TO Bitcoin PR bitcoin/bitcoin#26240)
FIXME in wallet_taproot.py functional test

1668424146 2022-11-14T12:09:06+01:00 48174c0f28 Bitcoin Merge bitcoin/bitcoin#26240: rpc: Adjust RPCTypeCheckObj error string
1668417474 2022-11-14T10:17:54+01:00 59e00c7e03 Bitcoin Merge bitcoin/bitcoin#25714: univalue: Avoid std::string copies
1668111238 2022-11-10T15:13:58-05:00 7ef730ca84 Bitcoin Merge bitcoin/bitcoin#26483: test: Don't pass add_to_wallet option to walletcreatefundedpsbt
1668004459 2022-11-09T15:34:19+01:00 9dce30194b Bitcoin Merge bitcoin/bitcoin#26472: test: add missing bech32m / BIP86 test-cases to wallet_descriptor.py
1667992471 2022-11-09T12:14:31+01:00 44ca5d5e87 Bitcoin Merge bitcoin/bitcoin#26473: test: Avoid collision with valid path names in `getarg_tests/logargs`
1667640759 2022-11-05T10:32:39+01:00 50422b770a Bitcoin Merge bitcoin/bitcoin#26419: log: mempool: log removal reason in validation interface
1667636699 2022-11-05T09:24:59+01:00 ce57dbac90 Bitcoin Merge bitcoin/bitcoin#26449: rpc: doc: add missing option "bech32m" for `change_type` parameters
1667577253 2022-11-04T15:54:13+00:00 ae6bb6e71e Bitcoin Merge bitcoin/bitcoin#26418: Fix signing of multi_a and rawtr scripts with wallets that only have corresponding keys
2025-02-27 15:15:49 +02:00
Byron Hambly
ca0a68b350
Merge UP TO 551c8e9526 into merged_master (UP TO bitcoin/bitcoin#26349)
Includes FIXMEs for a few functional tests
2025-02-05 09:50:17 +02:00
Byron Hambly
d06e8b7c42 Merge 5558d2f549 into merged_master (Bitcoin PR bitcoin/bitcoin#26048) 2024-11-26 13:19:38 +02:00
0xb10c
411c6cfc6c
tracing: only prepare tracepoint args if attached
Before this commit, we would always prepare tracepoint arguments
regardless of the tracepoint being used or not. While we already made
sure not to include expensive arguments in our tracepoints, this
commit introduces gating to make sure the arguments are only prepared
if the tracepoints are actually used. This is a win-win improvement
to our tracing framework. For users not interested in tracing, the
overhead is reduced to a cheap 'greater than 0' compare. As the
semaphore-gating technique used here is available in bpftrace, bcc,
and libbpf, users interested in tracing don't have to change their
tracing scripts while profiting from potential future tracepoints
passing slightly more expensive arguments. An example are mempool
tracepoints that pass serialized transactions. We've avoided the
serialization in the past as it was too expensive.

Under the hood, the semaphore-gating works by placing a 2-byte
semaphore in the '.probes' ELF section. The address of the semaphore
is contained in the ELF note providing the tracepoint information
(`readelf -n ./src/bitcoind | grep NT_STAPSDT`). Tracing toolkits
like bpftrace, bcc, and libbpf increase the semaphore at the address
upon attaching to the tracepoint. We only prepare the arguments and
reach the tracepoint if the semaphore is greater than zero. The
semaphore is decreased when detaching from the tracepoint.

This also extends the "Adding a new tracepoint" documentation to
include information about the semaphores and updated step-by-step
instructions on how to add a new tracepoint.
2024-10-28 14:27:47 +01:00
0xb10c
d524c1ec06
tracing: dedup TRACE macros & rename to TRACEPOINT
This deduplicates the TRACEx macros by using systemtaps STAP_PROBEV[0]
variadic macro instead of the DTrace compability DTRACE_PROBE[1] macros.
Bitcoin Core never had DTrace tracepoints, so we don't need to use the
drop-in replacement for it. As noted in pr25541[2], these macros aren't
compatibile with DTrace on macOS anyway.

This also renames the TRACEx macro to TRACEPOINT to clarify what the
macro does: inserting a tracepoint vs tracing (logging) something.

[0]: https://sourceware.org/git/?p=systemtap.git;a=blob;f=includes/sys/sdt.h;h=24d5e01c37805e55c36f7202e5d4e821b85167a1;hb=ecab2afea46099b4e7dfd551462689224afdbe3a#l407
[1]: https://sourceware.org/git/?p=systemtap.git;a=blob;f=includes/sys/sdt.h;h=24d5e01c37805e55c36f7202e5d4e821b85167a1;hb=ecab2afea46099b4e7dfd551462689224afdbe3a#l490
[2]: https://github.com/bitcoin/bitcoin/pull/25541/files#diff-553886c5f808e01e3452c7b21e879cc355da388ef7680bf310f6acb926d43266R30-R31

Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2024-10-28 14:23:47 +01:00
Byron Hambly
12dbf6cb9d Merge f6fdedf850 into merged_master (Bitcoin PR bitcoin/bitcoin#25648) 2024-10-24 20:20:13 +02:00
Byron Hambly
076e809b74 Merge 821f5c824f into merged_master (Bitcoin PR bitcoin/bitcoin#25487) 2024-10-17 09:16:23 +02:00
James Dorfman
dbab4c012c Merge a7f3479ba3 into merged_master (Bitcoin PR bitcoin/bitcoin#25353) 2024-10-13 18:06:13 +00:00
James Dorfman
17851700b4 Merge e4e201dfd9 into merged_master (Bitcoin PR bitcoin/bitcoin#25290) 2024-09-19 18:56:19 +00:00
Lőrinc
4feaa28728 refactor: Rely on returned value of GetCoin instead of parameter
Also removed the unused coin parameter of GetCoin.

Co-authored-by: Andrew Toth <andrewstoth@gmail.com>
2024-09-18 20:03:47 +02:00