- 05 Sep, 2013 4 commits
-
-
David Gibson authored
For use as direct locals, or when the size is a constant, inside structure definitions. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
Handling bitmaps which extend some odd number of bits, and assuring they don't clobber partially overlapped variables is not worth the bother. Also avoid namespace pollution. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
Go with "words" rather than explicitly referencing longs in the macros Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
David Gibson authored
This also fixes a bug which will hit on platforms where it's not safe to dereference a (long *) which is not correctly aligned. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 22 Aug, 2013 1 commit
-
-
David Gibson authored
This adds a module for manipulating bitmaps, based on the API from the Linux kernel's bitmap.h. So far it's missing the trickier bits, but is a little more flexible, allowing bitmaps that don't have to be contained in an integer number of unsigned longs. Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-
- 15 Jul, 2013 1 commit
-
-
Volker Lendecke authored
Signed-off-by: Volker Lendecke <vl@samba.org> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 11 Jun, 2013 1 commit
-
-
Rusty Russell authored
Compiling with optimization FTW. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 27 May, 2013 1 commit
-
-
Rusty Russell authored
Thanks to Jeremy Kerr for the idea! Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 13 May, 2013 1 commit
-
-
Rusty Russell authored
It makes the names longer, whereas the CAPS is probably sufficient. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 08 Apr, 2013 2 commits
-
-
Rusty Russell authored
Sometimes you really need a compile-time constant, but there's no generic way to create a macro which does this and only evaluates its argument once. Thus we need specific const macros. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Not worth LGPL for just this header. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 05 Apr, 2013 4 commits
-
-
Rusty Russell authored
Add examples and a documentation fix. Remove unused cascade function (was used in initial always-step-1-bucket version). Restore timers_dump() to within CCAN_TIMER_DEBUG. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
There's a sweet spot around 5, without going all the way to 13 (which would make each level 64/128k large). TIMER_LEVEL_BITS 2: 100000000 in 5.833399-5.884659(5.85912+/-0.015) (18 levels / 32) TIMER_LEVEL_BITS 3: 100000000 in 5.267610-5.303589(5.29018+/-0.011) (12-13(12.5+/-0.5) levels / 22) TIMER_LEVEL_BITS 4: 100000000 in 4.215605-4.417297(4.27771+/-0.062) (9-10(9.1+/-0.3) levels / 16) TIMER_LEVEL_BITS 5: 100000000 in 3.859340-3.972603(3.90149+/-0.034) (7-8(7.1+/-0.3) levels / 13) TIMER_LEVEL_BITS 6: 100000000 in 3.976157-4.037230(4.00199+/-0.02) (6 levels / 11) TIMER_LEVEL_BITS 7: 100000000 in 4.014228-4.082031(4.05024+/-0.022) (5-6(5.4+/-0.49) levels / 10) TIMER_LEVEL_BITS 8: 100000000 in 3.915615-3.978781(3.94972+/-0.02) (5 levels / 8) TIMER_LEVEL_BITS 9: 100000000 in 3.859413-4.025842(3.89993+/-0.046) (4-5(4.6+/-0.49) levels / 8) TIMER_LEVEL_BITS 10: 100000000 in 3.983507-4.170152(4.06743+/-0.055) (4 levels / 7) TIMER_LEVEL_BITS 11: 100000000 in 3.468756-3.610746(3.52843+/-0.04) (4 levels / 6) TIMER_LEVEL_BITS 12: 100000000 in 3.274397-3.377530(3.3192+/-0.026) (4 levels / 6) TIMER_LEVEL_BITS 13: 100000000 in 3.116845-3.178162(3.1398+/-0.017) (3 levels / 5) TIMER_LEVEL_BITS 14: 100000000 in 3.152599-3.264060(3.20733+/-0.043) (3 levels / 5) TIMER_LEVEL_BITS 15: 100000000 in 3.186556-3.552432(3.25597+/-0.11) (3 levels / 5) TIMER_LEVEL_BITS 16: 100000000 in 3.139352-3.485653(3.27263+/-0.11) (3 levels / 4) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
We spend a lot of time searching for the next timer to expire: by caching the minimum, we can skip most of this work. Even if timers are deleted, the minimum will be a starting point for searching. The expected-usage benchmark has to be increased by a factor of 100, otherwise it's now too short. Before: $ ./expected-usage 1000000 in 12.701647935 After: $ ./expected-usage 1000000 1000000 in 0.061095153 Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 04 Apr, 2013 1 commit
-
-
Rusty Russell authored
It's got some useful stuff in it, but doesn't pass ccanlint here. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 01 Apr, 2013 4 commits
-
-
Rusty Russell authored
Using ccanlint's --deps-fail-ignore, we can just test every module with "make check". Still exclude them from the 'libccan.a' build though. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Otherwise ccanlint complains about missing license comments. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Useful for bulk testing modules, where some might not have required external (non-CCAN) dependencies. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 31 Mar, 2013 1 commit
-
-
Rusty Russell authored
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 28 Mar, 2013 1 commit
-
-
Peter Hutterer authored
These version helpers help to compare major.minor style version numbers, without the need for open-coded and error-prone bitshifting, multiplication, and similar. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 17 Mar, 2013 4 commits
-
-
Rusty Russell authored
Creating a server for IPv4 and IPv6 has similar issues to clients, with some novel twists. Slightly different arguments need to be given to getaddrinfo(), but worse, some platforms (Linux without /proc/sys/net/ipv6/bindv6only set) automatically bind IPv6 sockets to IPv4 ports as well. Thus we need a function which can bind (and listen) to one or two fds. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
list_top + list_del, as suggested by Ben Herrenschmidt. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Operations for moving the entire contents of a list. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
If you have sections, it might still work for some cases though: on x86 Ubuntu it worked once I changed the section name from autodata to xautodata. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 12 Mar, 2013 1 commit
-
-
Tinggong authored
hi all, here is a trival path to fix warning [-Wunused-but-set-variable]. Thanks. Tinggong Signed-off-by: Tinggong <wangtinggong@gmail.com>
-
- 11 Mar, 2013 1 commit
-
-
Tinggong authored
hi rusty, here is a trival path to fix warning [-Wformat]. Thanks. Tinggong Signed-off-by: Tinggong <wangtinggong@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 07 Feb, 2013 2 commits
-
-
Rusty Russell authored
Andreas Schlick reports failure on systems without IPv6 support (in particular ones with no IPv6 addresses for localhost). We should be more robust in these cases, and also where IPv4 support is missing. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
Rusty Russell authored
Andreas Schlick reported a failure on 64-bit systems; we should simply test that the number of iterators does not grow on second iteration, rather than assuming an explicit limit as compilers may vary. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-
- 06 Feb, 2013 1 commit
-
-
Andreas Schlick authored
-
- 02 Feb, 2013 2 commits
-
-
Rusty Russell authored
-
Riceball LEE authored
-
- 25 Jan, 2013 3 commits
-
-
Ulrik Sverdrup authored
-
Ulrik Sverdrup authored
-
Ulrik Sverdrup authored
7 in ~7 needs to be size_t for it to be correct when len > INT_MAX.
-
- 14 Jan, 2013 4 commits
-
-
Ulrik Sverdrup authored
-
Ulrik Sverdrup authored
A simple implementation compiles very well with gcc and clang on ppc and x86, and will handle any-aligned input.
-
Ulrik Sverdrup authored
-
Rusty Russell authored
"engla" on IRC reported that ccanlint on linux/powerpc would loop infinitely calling dep_failed after all tests are run and the score is output. Reproduced, and discovered that cannot_run() takes a container_of(), except our top node is not a struct ccanlint. The result was harmless on x86, but set dep_failed to the return address on powerpc, causing that to be called repeatedly. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
-