Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

next: Changes queued for the 2018.08 release #1370

merged 40 commits into from Sep 12, 2018


None yet
7 participants
Copy link

lukego commented Jul 30, 2018

The next branch is open!

wingo and others added some commits Mar 20, 2018

Load potentially 64-bit values using mov64
When Snabb switches to LuaJIT's GC64, FFI allocations might be in the
64-bit range.  This commit adapts the memory references to immediate
addresses to account for 64-bit immediates.
Fix length property testing
Signed-off-by: Ben Agricola <>
Merge remote-tracking branch 'snabb/wingo-next' into fix-yang-length-…

core.memory: unmap tmpptr in allocate_huge_page
Unmap temporary hugepage memory mapping that is used to determine the page’s
physical memory address before returning the tagged mapping. This way we avoid
a superflous mapping in the process’ virtual memory space.
Add support for RDTSC, apply to token bucket
The new module lib.tsc provides a generic Time Stamp Counter mechanism
for measuring time intervals based on different time sources.  One
such source makes use of the CPU's TSC register via the rdtsc
instruction for low-latency timing purposes.

The rdtsc method is made the default time source for the token bucket,
formerly provided by core.lib, now moved to a separate module
lib.token_bucket. The commit also includes documentation for the token
bucket, which was previously missing.
lib.pmu: rudimentary support for AMD family 17h CPUs
A machine readable listing of available PMU events for various AMD cpu models
was not available, so instead I added a way to specify events by raw code by
supplying  a hexadecimal string literal (i.e., "0x00c0"). That way, lib.pmu
is still useful on AMD CPUs for brave souls armed with a processor manual.
ctable: fix power-of-2 issue
LuaJIT dislikes pointer subtractions when the size of the pointed-to
objects is not a power of two, which leads to trace aborts. ctable
suffers from this problem. The patch pads the cdata type used as entry
for the table to the next power of two.

We also disable tail-call optimization for functions that end with a
call to a built-in, which also causes trace aborts in certain cases.
This is needed for interop with newer qemu versions
vhost_user: fill out two additional messages
Add a stub for VHOST_USER_GET_QUEUE_NUM and a method

This comment has been minimized.

Copy link
Member Author

lukego commented Aug 6, 2018

@eugeneia I pulled in #1375 and this should be ready to rock'n'roll.

eugeneia added a commit to eugeneia/snabb that referenced this pull request Sep 12, 2018

@eugeneia eugeneia merged commit a154efc into master Sep 12, 2018

2 checks passed

SnabbDoc Documentation as single HTML file
davos-eugeneia/snabb-nfv-test-vanilla Linux davos 4.9.30 x86_64 Intel(R) Xeon(R) CPU E5-2603 v2 @ 1.80GHz / eugeneia/snabb-nfv-test-vanilla
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.