[alsa-devel] [PATCH 1/1] intel8x0: Improve performance in virtual environment

Jaroslav Kysela perex at perex.cz
Thu Oct 20 17:15:46 CEST 2011

Date 20.10.2011 17:02, Konstantin Ozerkov wrote:
> This patch intended to improve performance in virtualized environments
> like Parallels Desktop or VirtualBox/QEMU (virtual ICH/AC97 audio).
> I/O access is very time-expensive operation in virtual world: VCPU
> can be rescheduled and in the worst case we got more than 10ms delay on
> each I/O access.
> In the original code normal loop exit rule
> (old_civ == current_civ && old_picb == current_picb) was never satisfied,
> because old_picb was never the same as current_picb due delay inspired by
> reading current_civ. As a result loop ended by timeout and we got 10x more
> I/O operations.
> To prevent glitch on buffer swapping the rule (old_civ == current_civ) is
> enough.

I don't think so. This code was added because we got some strange
situations (values) with the real intel8x0 hardware. A better way might
be to identify the virtualisation (maybe using special PCI IDs) and skip
these extra checks in the driver for these devices.

NAK from me.


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project; Red Hat, Inc.

More information about the Alsa-devel mailing list