Tuesday, July 18, 2017
Nano had crashed over the long week-end, once more. It's always the same panic message, which seems to be related to some virtual memory internal state being corrupt. Next time, I'm going to copy it.
Spent a lot of time in the morning trying to get Shuttle back on despite the high temperature. But no matter what I try, the disk seems to not be able to sustain I/Os long enough to even boot properly. I'm afraid I only managed to corrupt the disk enough to be unable to boot cleanly anymore.
First actual commit on Freedesktop.org, for the mm-time comparison patch. Another commit for Pavel's fix, after testing that it fixes at least the black screen at startup issue.
Unfortunately, it does not fix the backlog accumulation when the machine is under load.
Here is the behavior under normal load, with a cool machine:
If we happen to have a temporary backlog accumulating, the machine is more than powerful enough to catch up and clean it up:
But what is interesting is what happens if I overload the system. I'm running the recorder_test with recorder_test 64 100, meaning 64 threads and 100 seconds. During that period, the spicy client does not get enough CPU, so we pile up things in the queue. With a patch to clean up the backlog regularly, the client does not die, but starts dropping packets at regular intervals:
This is also problematic since with a low rate of incoming I-frames, we don't recover too well on the display side. The output starts spitting ominous warnings:
channel-display-gst.c:266: [783802 1768.364819] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [783978 1768.391224] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [784147 1768.418427] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [784316 1768.445524] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [784485 1768.472102] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [784672 1768.499893] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [784849 1768.527272] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [785030 1768.554302] spice_warning: got an unexpected decoded buffer! channel-display-gst.c:266: [785211 1768.580169] spice_warning: got an unexpected decoded buffer!
Unfortunately, once you do that long enough, the machine then gets hot enough that it can't get enough CPU even after the test ends to clear the backlog: