- 11 Jun, 2010 1 commit
-
-
Rusty Russell authored
cast_if_type() should not try to degrade the expression using 1?(test):0, as that promotes bool to int, as well as degrading functions to function pointers: it should be done by the callers. In particular, this fixes sparse_bsearch.
-
- 09 Jun, 2010 6 commits
-
-
Rusty Russell authored
This means we can't have more than 2^25 elements per page; that's a maximum small page size of about 2^24 (with >8 objects per small page we move to large pages), meaning a poolsize max of 4G. We have a tighter limit at the moment anyway, but we should remove it once we fix this. In particular count all-zero and all-one words in the used field (that's what we care about: full or empty) would give us another factor of 64 (we only care about larger pool sizes on 64-bit platforms). We can also restore the larger number of pages and greater inter-page spacing once we implement the alternative tiny allocator.
-
Rusty Russell authored
Turns out that now we use page numbers, this is more fundamental.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
- 08 Jun, 2010 1 commit
-
-
Rusty Russell authored
This version has limitations: pools must be at least 1MB, and allocations are restricted to 1/1024 of the total pool size.
-
- 07 Jun, 2010 5 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
Particularly useful for building tests standalone.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
- 24 May, 2010 2 commits
-
-
Rusty Russell authored
To do this, we have to lose the ability for preargs and postargs to allow const and volatile argument signatures.
-
Rusty Russell authored
-
- 23 May, 2010 2 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
hashtable: make traverse callback typesafe.
-
- 20 May, 2010 1 commit
-
-
Rusty Russell authored
-
- 11 May, 2010 3 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
- 04 May, 2010 3 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
- 09 Apr, 2010 11 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
This takes my "make fastcheck" from about 57 seconds to about 43 seconds.
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
The ccanlint patch is rather intrusive. First, it adds a new field to all the ccanlint tests, "key". key is a shorter, still unique description of the test (e.g. "valgrind"). The names I chose as keys for all the tests are somewhat arbitrary and often don't reflect the name of the .c source file (because some of those names are just too darn long). Second, it adds two new options to ccanlint: -l: list tests ccanlint performs -x: exclude tests (e.g. -x trailing_whitespace,valgrind) It also adds a consistency check making sure all tests have unique keys and names. The primary goal of the ccanlint patch was so I could exclude the valgrind test, which takes a really long time for some modules (I think btree takes the longest, at around 2 minutes). I'm not sure I did it 100% correctly, so you'll want to review it first.
-
Rusty Russell authored
The btree patch gives the btree module an intuitive frontend (btree_insert, btree_remove, btree_lookup) and a built-in ordering function for strings. Together, these make it easy to use the btree module as a dynamic string map.
-
Rusty Russell authored
The charset patch makes utf8_validate reject the invalid codepoints U+FFFE and U+FFFF . Hopefully it's fully UTF-8 compliant now.
-
- 31 Mar, 2010 2 commits
-
-
Rusty Russell authored
-
Joseph Adams authored
-
- 24 Feb, 2010 3 commits
-
-
Rusty Russell authored
-
Rusty Russell authored
-
Rusty Russell authored
tdb transactions were designed to be robust against the machine powering off, but interestingly were never designed to handle the case where an administrator kill -9's a process during commit. Because recovery is only done on tdb_open, processes with the tdb already mapped will simply use it despite it being corrupt and needing recovery. The solution to this is to check for recovery every time we grab a data lock: we could have gained the lock because a process just died. This has no measurable cost: here is the time for tdbtorture -s 0 -n 1 -l 10000: Before: 2.75 2.50 2.81 3.19 2.91 2.53 2.72 2.50 2.78 2.77 = Avg 2.75 After: 2.81 2.57 3.42 2.49 3.02 2.49 2.84 2.48 2.80 2.43 = Avg 2.74 Signed-off-by:
Rusty Russell <rusty@rustcorp.com.au>
-