Page MenuHomeFreeBSD

xen-netfront: always keep the Rx ring full of requests
ClosedPublic

Authored by royger on May 27 2016, 4:02 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 25 2023, 1:22 PM
Unknown Object (File)
Nov 29 2023, 9:59 AM
Unknown Object (File)
Nov 13 2023, 12:00 AM
Unknown Object (File)
Nov 9 2023, 9:40 AM
Unknown Object (File)
Nov 5 2023, 7:39 AM
Unknown Object (File)
Oct 8 2023, 10:58 PM
Unknown Object (File)
Oct 8 2023, 8:33 AM
Unknown Object (File)
Oct 4 2023, 7:38 AM
Subscribers

Details

Reviewers
liuw_liuw.name
Summary

This is based on Linux commit 1f3c2eba1e2d866ef99bb9b10ade4096e3d7607c from
David Vrabel:

A full Rx ring only requires 1 MiB of memory. This is not enough memory
that it is useful to dynamically scale the number of Rx requests in the ring
based on traffic rates, because:

a) Even the full 1 MiB is a tiny fraction of a typically modern Linux

VM (for example, the AWS micro instance still has 1 GiB of memory).

b) Netfront would have used up to 1 MiB already even with moderate

data rates (there was no adjustment of target based on memory
pressure).

c) Small VMs are going to typically have one VCPU and hence only one

queue.

Keeping the ring full of Rx requests handles bursty traffic better than
trying to converge on an optimal number of requests to keep filled.

Sponsored by: Citrix Systems R&D

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 4074
Build 4117: arc lint + arc unit

Event Timeline

royger retitled this revision from to xen-netfront: always keep the Rx ring full of requests.
royger updated this object.
royger edited the test plan for this revision. (Show Details)
royger added a reviewer: liuw_liuw.name.

Other than that one small comment, this patch looks ok to me.

sys/dev/xen/netfront/netfront.c
1132

Might want to rate-limit this?

sys/dev/xen/netfront/netfront.c
1132

Ops, that's a debug leftover. Thanks for catching it! I'm just going to remove it.

royger edited edge metadata.

Remove leftover debug printf

This revision is now accepted and ready to land.Jun 2 2016, 11:19 AM