-
Notifications
You must be signed in to change notification settings - Fork 201
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7c2b1155ef6c
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feed91d8b2bb
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 4 commits
- 6 files changed
- 1 contributor
Commits on Nov 12, 2016
-
artiq_devtool: abort if build failed.
whitequark committedNov 12, 2016 Configuration menu - View commit details
-
Copy full SHA for dca3fb5 - Browse repository at this point
Copy the full SHA dca3fb5View commit details -
runtime: print microsecond timestamps in debug messages.
whitequark committedNov 12, 2016 Configuration menu - View commit details
-
Copy full SHA for acc5e53 - Browse repository at this point
Copy the full SHA acc5e53View commit details -
runtime: don't print debug messages to the UART.
It takes ~4ms to print an empty log line because of how slow the UART is. This makes the log timestamps useless for debugging performance problems. After this commit, it takes ~75us to print an empty log line instead, which pessimizes test_rpc_timing by less than 2ms with tracing enabled.
whitequark committedNov 12, 2016 Configuration menu - View commit details
-
Copy full SHA for 3ce1826 - Browse repository at this point
Copy the full SHA 3ce1826View commit details -
runtime: buffer RPC send packets.
This brings mean RPC time from ~45ms to ~2ms. The cause of the slowness without buffering is, primarily, that lwip is severely pessimized by small writes, whether with Nagle on or off. (In fact, disabling Nagle makes it function *better* on many small writes, which begs the question of what's the point of having Nagle there in the first place.) In practical terms, the slowness appears only when writing a 4-byte buffer (the synchronization segment); writing buffers of other sizes does not trigger the problem. This all is extremely confusing and the fix is partly palliative, but since it seems to work reliably and we're migrating off lwip I think it is unwise to spend any more time debugging this.
whitequark committedNov 12, 2016 Configuration menu - View commit details
-
Copy full SHA for feed91d - Browse repository at this point
Copy the full SHA feed91dView commit details
There are no files selected for viewing