Commit 673fa78
committed
Reduced the scope of LFS3_REVDBG/REVNOISE
LFS3_REVDBG introduced a lot of overhead for something I'm not sure
anyone will actually use (I have enough tooling that the state of an
rbyd is rarely a mystery, see dbgbmap.py). That, and we're running out
of flags!
So this reduces LFS3_REVDBG to just store one of "himb" in the first
(lowest) byte of the revision count; information that is easily
available:
vvvv---- -------- -------- --------
vvvvrrrr rrrrrr-- -------- --------
vvvvrrrr rrrrrrnn nnnnnnnn nnnnnnnn
vvvvrrrr rrrrrrnn nnnnnnnn dddddddd
'-.''----.----''----.- - - '---.--'
'------|----------|----------|---- 4-bit relocation revision
'----------|----------|---- recycle-bits recycle counter
'----------|---- pseudorandom noise (if revnoise)
'---- h, i, m, or b (if revdbg)
-11-1--- - h = mroot anchor
-11-1--1 - i = mroot
-11-11-1 - m = mdir
-11---1- - b = btree node
Some other notes:
- Enabled LFS3_REVDBG and LFS3_REVNOISE to work together, now that
LFS3_REVDBG doesn't consume all unused rev bits.
Note that LFS3_REVDBG has priority over LFS3_REVNOISE, but _not_
recycle-bits, etc. Otherwise problems would happen for recycle-bits
>2^20 (though do we care?).
- Fixed an issue where using the gcksum as a noise source results in
noise=0 when there is only an mroot. This is due to how we xor out
the current mdir cksum during an mdir commit.
Fixed by using gcksum_p instead of gcksum.
- Added missing LFS3_I_REVDBG/REVNOISE flags in the tests, so now you
can actually run the tests with LFS3_REVDBG/REVNOISE (this probably
just fell out-of-date at some point).
---
Curiously, despite LFS3_REVDBG/REVNOISE being disabled by default, this
did save some code. I'm guessing the non-tail-call mtree/gbmap commit
functions prevented some level of inlining?:
code stack ctx
before: 35964 2280 660
after: 35964 (+0.0%) 2280 (+0.0%) 660 (+0.0%)
code stack ctx
gbmap before: 38940 2296 772
gbmap after: 38828 (-0.3%) 2296 (+0.0%) 772 (+0.0%)1 parent e196be5 commit 673fa78
File tree
7 files changed
+353
-229
lines changed- scripts
- tests
7 files changed
+353
-229
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7526 | 7526 | | |
7527 | 7527 | | |
7528 | 7528 | | |
7529 | | - | |
7530 | | - | |
7531 | | - | |
7532 | | - | |
7533 | | - | |
7534 | | - | |
7535 | | - | |
7536 | | - | |
7537 | | - | |
7538 | | - | |
7539 | | - | |
7540 | | - | |
7541 | | - | |
7542 | 7529 | | |
7543 | 7530 | | |
7544 | 7531 | | |
| |||
7946 | 7933 | | |
7947 | 7934 | | |
7948 | 7935 | | |
7949 | | - | |
| 7936 | + | |
7950 | 7937 | | |
| 7938 | + | |
| 7939 | + | |
7951 | 7940 | | |
7952 | | - | |
7953 | | - | |
7954 | | - | |
7955 | | - | |
7956 | | - | |
7957 | | - | |
7958 | | - | |
7959 | | - | |
7960 | | - | |
7961 | | - | |
7962 | | - | |
7963 | | - | |
7964 | | - | |
7965 | | - | |
7966 | | - | |
| 7941 | + | |
| 7942 | + | |
| 7943 | + | |
| 7944 | + | |
| 7945 | + | |
| 7946 | + | |
| 7947 | + | |
| 7948 | + | |
| 7949 | + | |
| 7950 | + | |
7967 | 7951 | | |
7968 | 7952 | | |
7969 | 7953 | | |
| |||
7979 | 7963 | | |
7980 | 7964 | | |
7981 | 7965 | | |
| 7966 | + | |
| 7967 | + | |
| 7968 | + | |
| 7969 | + | |
| 7970 | + | |
| 7971 | + | |
| 7972 | + | |
| 7973 | + | |
| 7974 | + | |
7982 | 7975 | | |
7983 | 7976 | | |
7984 | 7977 | | |
| 7978 | + | |
| 7979 | + | |
| 7980 | + | |
| 7981 | + | |
7985 | 7982 | | |
7986 | | - | |
7987 | | - | |
| 7983 | + | |
| 7984 | + | |
| 7985 | + | |
7988 | 7986 | | |
7989 | 7987 | | |
7990 | | - | |
| 7988 | + | |
7991 | 7989 | | |
7992 | 7990 | | |
7993 | 7991 | | |
7994 | | - | |
7995 | | - | |
7996 | | - | |
7997 | | - | |
7998 | | - | |
7999 | | - | |
8000 | 7992 | | |
8001 | 7993 | | |
8002 | 7994 | | |
| |||
8007 | 7999 | | |
8008 | 8000 | | |
8009 | 8001 | | |
8010 | | - | |
8011 | | - | |
8012 | | - | |
8013 | | - | |
8014 | | - | |
8015 | | - | |
8016 | | - | |
8017 | | - | |
8018 | | - | |
8019 | | - | |
8020 | | - | |
8021 | | - | |
8022 | | - | |
8023 | | - | |
8024 | | - | |
8025 | | - | |
| 8002 | + | |
8026 | 8003 | | |
8027 | 8004 | | |
8028 | 8005 | | |
8029 | | - | |
| 8006 | + | |
| 8007 | + | |
| 8008 | + | |
| 8009 | + | |
| 8010 | + | |
| 8011 | + | |
| 8012 | + | |
| 8013 | + | |
| 8014 | + | |
| 8015 | + | |
8030 | 8016 | | |
8031 | 8017 | | |
8032 | 8018 | | |
| |||
8046 | 8032 | | |
8047 | 8033 | | |
8048 | 8034 | | |
8049 | | - | |
| 8035 | + | |
| 8036 | + | |
| 8037 | + | |
8050 | 8038 | | |
8051 | 8039 | | |
8052 | | - | |
| 8040 | + | |
8053 | 8041 | | |
8054 | 8042 | | |
8055 | | - | |
| 8043 | + | |
| 8044 | + | |
| 8045 | + | |
| 8046 | + | |
| 8047 | + | |
| 8048 | + | |
| 8049 | + | |
| 8050 | + | |
| 8051 | + | |
| 8052 | + | |
| 8053 | + | |
| 8054 | + | |
| 8055 | + | |
| 8056 | + | |
| 8057 | + | |
| 8058 | + | |
| 8059 | + | |
| 8060 | + | |
| 8061 | + | |
| 8062 | + | |
| 8063 | + | |
8056 | 8064 | | |
8057 | 8065 | | |
8058 | 8066 | | |
| |||
8293 | 8301 | | |
8294 | 8302 | | |
8295 | 8303 | | |
8296 | | - | |
8297 | | - | |
8298 | 8304 | | |
8299 | 8305 | | |
8300 | 8306 | | |
8301 | | - | |
8302 | | - | |
8303 | | - | |
8304 | | - | |
8305 | | - | |
8306 | | - | |
8307 | | - | |
8308 | | - | |
8309 | | - | |
8310 | | - | |
8311 | | - | |
8312 | | - | |
8313 | | - | |
8314 | | - | |
8315 | | - | |
8316 | | - | |
8317 | | - | |
8318 | | - | |
8319 | | - | |
| 8307 | + | |
8320 | 8308 | | |
8321 | 8309 | | |
8322 | 8310 | | |
| |||
8409 | 8397 | | |
8410 | 8398 | | |
8411 | 8399 | | |
8412 | | - | |
| 8400 | + | |
8413 | 8401 | | |
8414 | 8402 | | |
8415 | 8403 | | |
| |||
10713 | 10701 | | |
10714 | 10702 | | |
10715 | 10703 | | |
10716 | | - | |
10717 | | - | |
10718 | 10704 | | |
10719 | 10705 | | |
10720 | 10706 | | |
10721 | | - | |
10722 | | - | |
10723 | | - | |
10724 | | - | |
10725 | | - | |
10726 | | - | |
10727 | | - | |
10728 | | - | |
10729 | | - | |
10730 | | - | |
10731 | | - | |
10732 | | - | |
10733 | | - | |
10734 | | - | |
10735 | | - | |
10736 | | - | |
10737 | | - | |
10738 | | - | |
10739 | | - | |
| 10707 | + | |
10740 | 10708 | | |
10741 | 10709 | | |
10742 | 10710 | | |
| |||
14968 | 14936 | | |
14969 | 14937 | | |
14970 | 14938 | | |
14971 | | - | |
14972 | | - | |
14973 | | - | |
14974 | | - | |
14975 | | - | |
14976 | 14939 | | |
14977 | 14940 | | |
14978 | 14941 | | |
| |||
16032 | 15995 | | |
16033 | 15996 | | |
16034 | 15997 | | |
16035 | | - | |
16036 | | - | |
16037 | | - | |
16038 | | - | |
16039 | 15998 | | |
16040 | 15999 | | |
16041 | 16000 | | |
| |||
16052 | 16011 | | |
16053 | 16012 | | |
16054 | 16013 | | |
16055 | | - | |
| 16014 | + | |
16056 | 16015 | | |
16057 | 16016 | | |
16058 | 16017 | | |
16059 | 16018 | | |
16060 | 16019 | | |
16061 | 16020 | | |
16062 | | - | |
| 16021 | + | |
16063 | 16022 | | |
16064 | 16023 | | |
16065 | 16024 | | |
| |||
16071 | 16030 | | |
16072 | 16031 | | |
16073 | 16032 | | |
16074 | | - | |
| 16033 | + | |
16075 | 16034 | | |
16076 | 16035 | | |
16077 | | - | |
16078 | | - | |
16079 | | - | |
16080 | 16036 | | |
16081 | | - | |
16082 | | - | |
16083 | | - | |
16084 | | - | |
16085 | | - | |
16086 | | - | |
16087 | 16037 | | |
16088 | 16038 | | |
16089 | 16039 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | 299 | | |
307 | 300 | | |
308 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
218 | 224 | | |
219 | 225 | | |
220 | 226 | | |
221 | 227 | | |
222 | 228 | | |
223 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
224 | 236 | | |
225 | 237 | | |
226 | 238 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | 133 | | |
138 | 134 | | |
139 | 135 | | |
| |||
0 commit comments