svn commit: r301950 - stable/10/sys/dev/vt/hw/vga
Sepherosa Ziehau
sephe at FreeBSD.org
Thu Jun 16 04:32:12 UTC 2016
Author: sephe
Date: Thu Jun 16 04:32:11 2016
New Revision: 301950
URL: https://svnweb.freebsd.org/changeset/base/301950
Log:
MFC 297334
vt: Use textmode when we're running on hypervisors
The graphic mode is noticeably slow on hypervisors, especially
on Hyper-V (1 second to each line).
Submitted by: Dexuan Cui <decui microsoft com>
Reviewed by: kib, sephe, royger (early loader version)
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5739
Modified:
stable/10/sys/dev/vt/hw/vga/vt_vga.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/vt/hw/vga/vt_vga.c
==============================================================================
--- stable/10/sys/dev/vt/hw/vga/vt_vga.c Thu Jun 16 04:21:27 2016 (r301949)
+++ stable/10/sys/dev/vt/hw/vga/vt_vga.c Thu Jun 16 04:32:11 2016 (r301950)
@@ -1200,7 +1200,6 @@ vga_init(struct vt_device *vd)
if (vd->vd_softc == NULL)
vd->vd_softc = (void *)&vga_conssoftc;
sc = vd->vd_softc;
- textmode = 0;
#if defined(__amd64__) || defined(__i386__)
sc->vga_fb_tag = X86_BUS_SPACE_MEM;
@@ -1217,6 +1216,13 @@ vga_init(struct vt_device *vd)
bus_space_map(sc->vga_reg_tag, VGA_REG_BASE, VGA_REG_SIZE, 0,
&sc->vga_reg_handle);
+ /*
+ * If "hw.vga.textmode" is not set and we're running on hypervisor,
+ * we use text mode by default, this is because when we're on
+ * hypervisor, vt(4) is usually much slower in graphics mode than
+ * in text mode, especially when we're on Hyper-V.
+ */
+ textmode = vm_guest != VM_GUEST_NO;
TUNABLE_INT_FETCH("hw.vga.textmode", &textmode);
if (textmode) {
vd->vd_flags |= VDF_TEXTMODE;
More information about the svn-src-stable-10
mailing list