Doing some testing with the flight recorder remote configuration
One interesting thing I observed during this testing is that I can no
longer overload the macOS client that easily. I did an udpate to more
recent code, so I am wondering if some recent code change improved
things on the performance front. Here is an example of quick recovery.
I wonder if this has something to do with recent tests I was doing on
the frame rate front.
Update: after playing with it for a while, the machine started
spinning its fans, and I understood: it's just that now I have air
conditioning in this room, so the machine is just dealing with the
load much more easily. But I can overload it by putting a bit of
"heat" on the GPU side (running Tao3D at the same time).
I don't see any effect of the frame rate on the encoder, it really
seems to be ignored. However, the dwGOPLength field (interval
between I-frames) has an interesting effect.
Here is what we have with a variation of the GOP length of 100
Here is what we have with a variation of the GOP length of 1:
Notice how the network bandwidth increases sharply, as well as the
typical queue length (although this is much harder to say, because
this one seems highly dependent on machine temperature).
Here is with a GOP of 10:
Here is with a GOP of 1000:
Also did some experiments with the dwAvgBitRate, trying to set it
to a very low value (8000). There is no reduction in queue length (if
anything, it seems to be the opposite), and the frame sizes seems to
always peak at 16384. But there is obviously a sharp effect on the
bandwidth being used.
No real observable difference between H264 profiles 77 and 66. Profile
83 is not accepted. Hi Profile (100) also does not seem to make much
of a difference.
Also not much of a difference switching values for ePresetConfig.
Interesting, also got another one of these instances where after
killing Tao3D, the NVIDIA driver seems to be stuck. There are no
update to the spice client. It stays like this for a long time, it's a
bit unpredictable. After doing kill -9 for the spice streaming
agent multiple times, I finally got it back.
Damage control after power outage
Tuesday, August 8, 2017
Lost power for my "computer array", a circuit breaker detected too
much current. I guess I had enough computers to be close to the limit
In any case, that did as usual a bit of damage.
One of my MacBook pros ran out of battery, and when I rebooted, it
probably ran out of battery again during fsck (a few times). The
laptop is old, its battery is really bad. In any case, I tried to
repair the disk a few times, but I was unable to. So re-installation
of macOS on this specific laptop. That was probably overdue anyway,
there was a lot of junk on this machine
My DNS started acting up in a very strange way. For some reason,
there was no way to resolve a few specific names,
e.g. google.com or redhat.com, though others would resolve
fine, e.g. google.fr or apple.com. No real logic. I spent a
bit of time investigating, added logging for bind, and observed
tons of messages like this:
08-Aug-2017 03:10:57.637 dnssec: info: validating @0x7251b740: nist.gov DS: verify failed due to bad signature (keyid=21428): RRSIG validity period has not begun
08-Aug-2017 03:10:57.638 dnssec: info: validating @0x7251b740: nist.gov DS: no valid signature found
08-Aug-2017 03:10:57.639 lame-servers: info: error (no valid RRSIG) resolving 'nist.gov/DS/IN': 18.104.22.168#53
08-Aug-2017 03:10:57.669 dnssec: info: validating @0x73448968: net SOA: verify failed due to bad signature (keyid=57899): RRSIG validity period has not begun
08-Aug-2017 03:10:57.669 dnssec: info: validating @0x73448968: net
SOA: no valid signature found
Google (.fr) pointed me to this blog
explaining how to disable dnssec. Fixed it, though it's hard to
understand why it worked before.
Flight recorder: Dynamic configuration
Monday, August 7, 2017
Began working on a dynamic interface for configuration over shared
memory, so that I can dynamically adjust traces while running an
application such as the Spice client.
Flight recorder video
Friday, August 4, 2017
Published the flight recorder presentation video:
Wednesday, August 2, 2017
Clearly, air conditioning in my room is not enough to cool down the
next room enough for Muse to work under load for long periods of
time. Move Muse in this room, we'll see if that helps.
I'm not the only one having problems with technology today.
Working alongside the kids
Tuesday, August 1, 2017
Today, I set up my workshop in the kitchen, along with the kids. We
had four laptops for three people. I used a second laptop as an extra
monitor, mostly running remote-viewing sessions on it.
Did another pass at the Tao3D presentation for the flight
recorder. I'm starting to be happy with it.
Discussed how to address environment variables with the spice
server. One of the thing I had missed was the need to restart the
libvirt daemon for the environment to propagate. So this is why it was
"sometimes" doing what I wanted, sometimes not.
Still, this calls for
Did a small modification to the recorder to ensure that the
RECORDER_TRACE and RECORDER_TWEAK macros are identical. That
way, you don't need to remember if something is a trace or a tweak.
End of week
Friday, July 28, 2017
Enjoying my new air conditioning. It is so cool, literally
After restarting Turbo, had the same problem with libspice-server.so.1 pointing to the wrong version I already had on
This is the work blog of Christophe de Dinechin for Red Hat.
Think of it as a public lab book.
This should not be particularly interesting except to
myself. It's really more intended as a set of personal notes,
so there is no formatting whatsoever. I type tings as I go
along during the day. All you'll find here are things like
stack traces, Linux commands I want to remember or bugzilla
links I want to be able to return to.
If you want to read stuff about my work at Red Hat that I
believe is more interesting to the general public, you will
find it on A Spice Odyssey. If you want to read my rants about everything else, go
to Grenouille Bouillie. This is about as much advertisement as you will find on this site.
2016-2017 - Christophe de Dinechin
All views expressed on this blog are strictly personal. This blog does not represent the views of my employer, nor mine for that matter. This blog is provided as-is, without warrrany of any kind, express or implied, in particular regarding accuracy or interest of the content. The contents of this blog is distributed under a Creative Commons BY-SA 4.0 license .