sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub34> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/4156bf34bc00fd9d21fa6d601e9730355df82ddb
<GitHub34> buildbot-config/master 4156bf3 whitequark: Add missing WithProperties.
bb-m-labs has joined #m-labs
<cr1901_modern> Had to move migen on my filesystem, forcing me to rerun setup.py develop. Hrm, did Sphynx always need 100 packages, or has it just been a while since I last run it?
<whitequark> bb-m-labs: force build --props=flash=1,package=artiq-kc705-nist_clock artiq-board
<bb-m-labs> build #184 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #184 of artiq-board is complete: Exception [exception artiq_flash] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/184
bb-m-labs has quit [Quit: buildmaster reconfigured: bot disconnecting]
<GitHub197> [buildbot-config] whitequark pushed 1 new commit to master: https://github.com/m-labs/buildbot-config/commit/a417a24df5463c4a7641bd873e77a3ae280246f9
<GitHub197> buildbot-config/master a417a24 whitequark: Revert "Only build and flash gateware when it has changed."...
bb-m-labs has joined #m-labs
mumptai has quit [Ping timeout: 260 seconds]
mumptai has joined #m-labs
<whitequark> bb-m-labs: force build --props=package=llvmlite-artiq conda-all
<bb-m-labs> build #78 forced
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #245 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/245
<bb-m-labs> build #159 of conda-win64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win64/builds/159
<bb-m-labs> build #161 of conda-win32 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win32/builds/161
<bb-m-labs> build #78 of conda-all is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-all/builds/78
<GitHub164> [artiq] whitequark pushed 2 new commits to master: https://git.io/vXK8X
<GitHub164> artiq/master d3ee858 whitequark: llvm_ir_generator: use !{→unconditionally.}invariant.load metadata....
<GitHub164> artiq/master 8b6418c whitequark: artiq_devtool: more robust port forwarding.
<GitHub180> [artiq] whitequark pushed 1 new commit to master: https://git.io/vXK8M
<GitHub180> artiq/master 5eb940d whitequark: conda: bump llvmlite-artiq dep.
<bb-m-labs> build #1085 of artiq is complete: Exception [exception interrupted] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1085 blamelist: whitequark <whitequark@whitequark.org>
<bb-m-labs> build #185 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/185
<bb-m-labs> build #1086 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1086 blamelist: whitequark <whitequark@whitequark.org>
<whitequark> hm, I'm really confused
<whitequark> the test passes locally...
bentley` has joined #m-labs
rohitksingh has joined #m-labs
fengling has joined #m-labs
fengling has quit [Ping timeout: 268 seconds]
<GitHub177> [llvm-or1k] whitequark force-pushed artiq-3.9 from 05e3f48 to 66fce11: https://github.com/m-labs/llvm-or1k/commits/artiq-3.9
<GitHub177> llvm-or1k/artiq-3.9 66fce11 whitequark: Add new !unconditionally.invariant.load load instruction metadata.
<whitequark> bb-m-labs: force build --props=package=llvm-or1k conda-all
<bb-m-labs> build forced [ETA 7m35s]
<bb-m-labs> I'll give a shout when the build finishes
<GitHub155> [conda-recipes] whitequark pushed 1 new commit to master: https://github.com/m-labs/conda-recipes/commit/04c3402582ddd541fb4c29fb593952c01caf8613
<GitHub155> conda-recipes/master 04c3402 whitequark: llvm-or1k, llvmlite-artiq: bump.
bentley` has quit [Ping timeout: 248 seconds]
sandeepkr__ has quit [Ping timeout: 240 seconds]
kuldeep_ has quit [Ping timeout: 240 seconds]
rohitksingh has quit [Read error: Connection reset by peer]
rohitksingh has joined #m-labs
sandeepkr has joined #m-labs
<bb-m-labs> build #162 of conda-win32 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win32/builds/162
sandeepkr_ has joined #m-labs
kuldeep_ has joined #m-labs
sandeepkr has quit [Ping timeout: 260 seconds]
<bb-m-labs> build #160 of conda-win64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win64/builds/160
<bb-m-labs> build #246 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/246
<bb-m-labs> build #79 of conda-all is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-all/builds/79
<whitequark> bb-m-labs: force build --props=package=llvmlite-artiq conda-all
<bb-m-labs> build forced [ETA 1h03m50s]
<bb-m-labs> I'll give a shout when the build finishes
<bb-m-labs> build #161 of conda-win64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win64/builds/161
<bb-m-labs> build #163 of conda-win32 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-win32/builds/163
<bb-m-labs> build #247 of conda-lin64 is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-lin64/builds/247
<bb-m-labs> build #80 of conda-all is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/conda-all/builds/80
<GitHub43> [artiq] whitequark pushed 1 new commit to master: https://git.io/vXK1E
<GitHub43> artiq/master 7c2b115 whitequark: conda: bump llvmlite-artiq dep.
<bb-m-labs> build #186 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/186
<bb-m-labs> build #1087 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1087 blamelist: whitequark <whitequark@whitequark.org>
<whitequark> ayup, pulse_rate_dds fixed
<sb0> \o/
<whitequark> now rpc_timing...
<whitequark> ah, regarding runtime vs runtime.rs. no. we don't need both. after the DDS rewrite and stuff I'll merge the two directories, as was always the plan
<whitequark> it's a bit ugly because the build systems are so different, which is why they were separate at first
<sb0> _florent_, in liteeth, mii.py, instead of inserting a reset on the converter and hooking it up to ~dv, can't you hook up stb to dv?
<sb0> the converter should reset itself when it gets a EOP
<sb0> and resetting the converter on ~dv runs the risk of interrupting any output transaction the converter may be doing when dv is deasserted, causing data loss
discover has joined #m-labs
discover has quit [Client Quit]
bentley` has joined #m-labs
<whitequark> hm.
<whitequark> [ 176054488us] TRACE(runtime::session): comm<-kern RpcSend { async: false, service: 2, tag: [79, 58, 110], data: 0x4ffffec8 }
<whitequark> [ 176065005us] TRACE(runtime::session): comm->host RpcRequest { async: false }
<whitequark> [ 176112395us] TRACE(runtime::rpc_proto): send<2>(Object)->None
<whitequark> why on earth is the runtime spending *fifty eight* milliseconds doing basically nothing?!
<whitequark> did I write an accidentally quadratic algorithm somewhere or what
rohitksingh has quit [Quit: Leaving.]
<whitequark> wow
<whitequark> printing logs is *extremely slow*
<whitequark> it takes almost four milliseconds to print an empty log line
<whitequark> oh
<whitequark> the UART. the UART is slow as heck
<whitequark> okay
<whitequark> ok, now printting an empty line (into the core log, not the console) takes only 75us. this is closer to the truth
<whitequark> there's a bunch of calculations and virtual calls so the few thousand instructions it uses is justified...
<whitequark> okay, here's the culprit:
<whitequark> [ 8838344us] TRACE(runtime::session): comm->host RpcRequest { async: false }
<whitequark> [ 8884266us] TRACE(runtime::session): after send_args
<whitequark> [ 8882320us] TRACE(runtime::rpc_proto): send<2>(Object)->None
<whitequark> [ 8882234us] TRACE(runtime::session): before send_args
<whitequark> oh.
<whitequark> *facepalm*
<whitequark> sb0: ok so the issue is
<whitequark> most tcp_write calls take 2ms to complete. but some of them (when sending rpcs like this test does) take 40ms.
<whitequark> this is exactly reproducible with every single ms, within a ms of tolerance
<whitequark> *with every single rpc
<whitequark> by "take X ms to complete" I specifically mean "cumulative value of len passed to the sent callback equals buffer size"
<whitequark> I block Rust code until the write completes because otherwise, lwip's buffers would have to be large enough for the largest packet I can send. which can be quite large indeed
<whitequark> s/packet/buffer/, like the 65kb log buffer...
<whitequark> sb0: amazing.
<whitequark> simply amazing.
<whitequark> from what I can tell, it takes lwip 40ms to send four bytes in particular.
<whitequark> one byte? 1ms. fifteen bytes? 1ms.
<whitequark> four bytes? 40ms because FUCK YOU THAT'S WHY
* whitequark stares in disbelief
* whitequark stares some more
<GitHub92> [artiq] whitequark pushed 4 new commits to master: https://git.io/vX6k6
<GitHub92> artiq/master acc5e53 whitequark: runtime: print microsecond timestamps in debug messages.
<GitHub92> artiq/master 3ce1826 whitequark: runtime: don't print debug messages to the UART....
<GitHub92> artiq/master dca3fb5 whitequark: artiq_devtool: abort if build failed.
<whitequark> this is apparently somehow related but not fully explained by Nagle in lwip
<whitequark> what a disaster
<bb-m-labs> build #187 of artiq-board is complete: Success [build successful] Build details are at http://buildbot.m-labs.hk/builders/artiq-board/builds/187
<bb-m-labs> build #1088 of artiq is complete: Failure [failed python_unittest_1] Build details are at http://buildbot.m-labs.hk/builders/artiq/builds/1088 blamelist: whitequark <whitequark@whitequark.org>