conf, docs: Add support for coalesce setting(s)

We are currently parsing only rx/frames/max because that's the only
value that makes sense for us.  The tun device just added support for
this one and the others are only supported by hardware devices which
we don't need to worry about as the only way we'd pass those to the
domain is using <hostdev/> or <interface type='hostdev'/>.  And in
those cases the guest can modify the settings itself.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander
2017-04-07 17:46:32 +02:00
parent 652ef9bc8c
commit 523c996062
8 changed files with 411 additions and 0 deletions

View File

@@ -5405,6 +5405,33 @@ qemu-kvm -net nic,model=? /dev/null
<span class="since">Since 3.1.0</span>
</p>
<h5><a name="coalesce">Coalesce settings</a></h5>
<pre>
...
&lt;devices&gt;
&lt;interface type='network'&gt;
&lt;source network='default'/&gt;
&lt;target dev='vnet0'/&gt;
<b>&lt;coalesce&gt;
&lt;rx&gt;
&lt;frames max='7'/&gt;
&lt;/rx&gt;
&lt;/coalesce&gt;</b>
&lt;/interface&gt;
&lt;/devices&gt;
...</pre>
<p>
This element provides means of setting coalesce settings for
some interface devices (currently only type <code>network</code>
and <code>bridge</code>. Currently there is just one attribute,
<code>max</code>, to tweak, in element <code>frames<code> for
the <code>rx</code> group, which accepts a non-negative integer
that specifies the maximum number of packets that will be
received before an interrupt.
<span class="since">Since 3.3.0</span>
</p>
<h5><a name="ipconfig">IP configuration</a></h5>
<pre>
...

View File

@@ -2508,6 +2508,9 @@
<optional>
<ref name="mtu"/>
</optional>
<optional>
<ref name="coalesce"/>
</optional>
<optional>
<element name="target">
<attribute name="dev">
@@ -5743,4 +5746,132 @@
</choice>
</attribute>
</define>
<define name="coalesce">
<element name="coalesce">
<interleave>
<optional>
<element name="rx">
<optional>
<element name="frames">
<optional>
<attribute name="max">
<ref name="unsignedInt"/>
</attribute>
</optional>
<!--
This is how we'd add more Rx-related settings for
frames, like irq, high, and low
<optional>
<attribute name="irq">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="high">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="low">
<ref name="unsignedInt"/>
</attribute>
</optional>
-->
</element>
</optional>
<!--
This is how we'd add more Rx-related settings, like
usecs
<optional>
<element name="usecs">
<optional>
<attribute name="max">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="irq">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="high">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="low">
<ref name="unsignedInt"/>
</attribute>
</optional>
</element>
</optional>
-->
</element>
</optional>
<!--
This is how you would add more coalesce settings, like
Tx-related ones
<optional>
<element name="tx">
<optional>
<element name="frames">
<optional>
<attribute name="max">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="irq">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="high">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="low">
<ref name="unsignedInt"/>
</attribute>
</optional>
</element>
</optional>
<optional>
<element name="usecs">
<optional>
<attribute name="max">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="irq">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="high">
<ref name="unsignedInt"/>
</attribute>
</optional>
<optional>
<attribute name="low">
<ref name="unsignedInt"/>
</attribute>
</optional>
</element>
</optional>
</element>
</optional>
-->
</interleave>
</element>
</define>
</grammar>