All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: "Michael Kelley" <mhklinux@outlook.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"H . Peter Anvin" <hpa@zytor.com>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Jürgen Groß" <jgross@suse.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	"Ard Biesheuvel" <ardb@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Carlos Bilbao" <carlos.bilbao@kernel.org>,
	"David Woodhouse" <dwmw@amazon.co.uk>,
	"Elena Reshetova" <elena.reshetova@intel.com>,
	"Fei Li" <fei1.li@intel.com>,
	"Jan Kiszka" <jan.kiszka@siemens.com>,
	"Masahiro Yamada" <yamada.masahiro@socionext.com>,
	"Michal Marek" <michal.lkml@markovi.net>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Sean Christopherson" <seanjc@google.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>
Subject: [PATCH] x86/kconfig/defconfig: Enable CONFIG_DRM_FBDEV_EMULATION=y
Date: Sat, 14 Jun 2025 09:32:14 +0200	[thread overview]
Message-ID: <aE0lfuuzXkVNxtKO@gmail.com> (raw)
In-Reply-To: <87o6vtnf8m.fsf@redhat.com>


* Vitaly Kuznetsov <vkuznets@redhat.com> wrote:

> Michael Kelley <mhklinux@outlook.com> writes:
> 
> > From: Ingo Molnar <mingo@kernel.org> Sent: Thursday, May 15, 2025 6:27 AM
> >> 
> >> Since the x86 defconfig aims to be a distro kernel work-alike with
> >> fewer drivers and a shorter build time, refresh all the virtualization
> >> guest Kconfig features, enabling paravirt spinlocks, and
> >> enabling the guest support code for the following guests:
> >> 
> >>  - Xen
> >>  - Xen_PVH
> >>  - Jailhouse
> >>  - ACRN
> >>  - Intel TDX
> >>  - Hyper-V
> >
> > I built and tested a Hyper-V guest with defconfig. The Hyper-V storage
> > and keyboard drivers are pulled in automatically, so my previous
> > comment about them being "missing" is moot.
> >
> > But the Linux console for each Hyper-V guest is a synthetic graphics
> > console, and that didn't work with the DRM_HYPERV driver. Missing
> > the console pretty much kills any usefulness. DRM doesn't have 
> > Linux console support, so it needs CONFIG_DRM_FBDEV_EMULATION
> > to be set, and defconfig doesn't have it.
> >
> > So either CONFIG_DRM_FBDEV_EMULATION needs to be added, or
> > defconfig should switch to the older HYPERV_FB driver. I think we'd
> > rather do the former. Vitaly -- any thoughts?
> >
> 
> Yea, my vote goes to the same option: let's enable
> CONFIG_DRM_FBDEV_EMULATION.

Okay - I've addressed the enabling of this option separately in:

    7ce421edd9fc ("x86/kconfig/defconfig: Enable CONFIG_DRM_FBDEV_EMULATION=y")

Also attached below.

Thanks,

	Ingo

=======================>
From: Ingo Molnar <mingo@kernel.org>
Date: Sat, 14 Jun 2025 09:10:55 +0200
Subject: [PATCH] x86/kconfig/defconfig: Enable CONFIG_DRM_FBDEV_EMULATION=y

Michael Kelley reported that the x86 defconfig *almost* works
well on Hyper-V guests out of box, with the exception of
console support:

 > I built and tested a Hyper-V guest with defconfig. The Hyper-V storage
 > and keyboard drivers are pulled in automatically. [...]
 >
 > But the Linux console for each Hyper-V guest is a synthetic graphics
 > console, and that didn't work with the DRM_HYPERV driver. Missing
 > the console pretty much kills any usefulness. DRM doesn't have
 > Linux console support, so it needs CONFIG_DRM_FBDEV_EMULATION
 > to be set, and defconfig doesn't have it.

So enable CONFIG_DRM_FBDEV_EMULATION.

Also enable the dependent CONFIG_FRAMEBUFFER_CONSOLE_ROTATION option
(disabled by default), as all major Linux distros have it enabled,
probably as a sysadmin quality-of-life option:

	.config.distro.debian.x86_32:     CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
	.config.distro.fedora.generic:    CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
	.config.distro.opensuse.default:  CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
	.config.distro.rhel.generic:      CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
	.config.distro.ubuntu:            CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y

There's no measurable build time impact within ~1% stddev:

  $ perf stat --null --repeat 3 --sync --pre='make clean >/dev/null' make -j128 bzImage >/dev/null

  Performance counter stats for 'make -j128 bzImage' (3 runs):

  # before:         33.759 +- 0.286 seconds time elapsed  ( +-  0.85% )
  # after:          33.593 +- 0.314 seconds time elapsed  ( +-  0.94% )

Suggested-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Jürgen Groß <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Michal Marek <michal.lkml@markovi.net>
Cc: linux-kernel@vger.kernel.org
Link: https://lore.kernel.org/r/SN6PR02MB4157B1676A6284ECD21E494FD490A@SN6PR02MB4157.namprd02.prod.outlook.com # Discussion
---
 arch/x86/configs/i386_defconfig   | 2 ++
 arch/x86/configs/x86_64_defconfig | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index aeba95893086..39a660d71a0a 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -239,8 +239,10 @@ CONFIG_AGP=y
 CONFIG_AGP_AMD64=y
 CONFIG_AGP_INTEL=y
 CONFIG_DRM=y
+CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_VIRTIO_GPU=y
 CONFIG_DRM_HYPERV=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_SOUND=y
 CONFIG_SND=y
 CONFIG_SND_HRTIMER=y
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index c20100d77387..b5dc26fb715a 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -116,6 +116,7 @@ CONFIG_ANON_VMA_NAME=y
 CONFIG_USERFAULTFD=y
 CONFIG_LRU_GEN=y
 CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_DAMON is not set
 CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_XFRM_USER=y
@@ -248,8 +249,10 @@ CONFIG_AGP=y
 CONFIG_AGP_AMD64=y
 CONFIG_AGP_INTEL=y
 CONFIG_DRM=y
+CONFIG_DRM_FBDEV_EMULATION=y
 CONFIG_DRM_VIRTIO_GPU=y
 CONFIG_DRM_HYPERV=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
 CONFIG_SOUND=y
 CONFIG_SND=y
 CONFIG_SND_HRTIMER=y

  reply	other threads:[~2025-06-14  7:32 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-15 13:27 [PATCH -v3 00/13] x86/kconfig: Synchronize the x86 defconfigs with distribution configs Ingo Molnar
2025-05-15 13:27 ` [PATCH 01/13] x86/kconfig/64: Refresh defconfig Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] x86/kconfig/32: " tip-bot2 for Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] x86/kconfig/64: " tip-bot2 for Ingo Molnar
2025-07-14 14:33   ` [tip: x86/kconfig] x86/kconfig/32: " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 02/13] " Ingo Molnar
2025-05-15 13:27 ` [PATCH 03/13] x86/kbuild: Remove ancient 'arch/i386/' and 'arch/x86_64/' directory removal 'archclean' target Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-06-13 17:12   ` [PATCH 03/13] " Brian Gerst
2025-06-15 11:25     ` Ingo Molnar
2025-05-15 13:27 ` [PATCH 04/13] x86/tools: insn_decoder_test.c: Emit standard build success messages Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-06-15 11:34   ` tip-bot2 for Ingo Molnar
2025-07-14 14:33   ` tip-bot2 for Ingo Molnar
2025-07-14 15:10   ` tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 05/13] x86/tools: insn_sanity.c: " Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-06-15 11:34   ` tip-bot2 for Ingo Molnar
2025-07-14 14:33   ` tip-bot2 for Ingo Molnar
2025-07-14 15:10   ` tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 06/13] x86/kconfig/64: Enable the KVM host in the defconfig Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 07/13] x86/kconfig/64: Enable more virtualization guest options in the defconfig: enable Xen, Xen_PVH, Jailhouse, ACRN, Intel TDX and Hyper-V Ingo Molnar
2025-05-15 23:40   ` Michael Kelley
2025-05-16  7:49     ` Ingo Molnar
2025-05-16 13:14       ` Michael Kelley
2025-05-16  8:15     ` Vitaly Kuznetsov
2025-06-14  7:32       ` Ingo Molnar [this message]
2025-06-14 10:30     ` Peter Zijlstra
2025-06-14 16:46       ` Michael Kelley
2025-06-13  8:25   ` [tip: x86/kconfig] x86/kconfig/64: Enable more virtualization guest options in the defconfig: Enable " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 08/13] x86/kconfig/64: Enable BPF support in the defconfig Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 09/13] x86/kconfig/64: Enable popular MM options " Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-06-14 10:39   ` [PATCH 09/13] " Peter Zijlstra
2025-06-16 18:34     ` Jann Horn
2025-06-14 17:18   ` Linus Torvalds
2025-06-15 11:23     ` Ingo Molnar
2025-06-15 11:29       ` Ingo Molnar
2025-05-15 13:27 ` [PATCH 10/13] x86/kconfig/64: Enable popular kernel debugging " Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 11/13] x86/kconfig/64: Enable popular scheduler, cgroups and namespaces " Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 12/13] x86/kconfig/64: Enable popular generic kernel " Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar
2025-05-15 13:27 ` [PATCH 13/13] x86/kconfig/32: Synchronize the x86-32 defconfig to the x86-64 defconfig Ingo Molnar
2025-06-13  8:25   ` [tip: x86/kconfig] " tip-bot2 for Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aE0lfuuzXkVNxtKO@gmail.com \
    --to=mingo@kernel.org \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=carlos.bilbao@kernel.org \
    --cc=dwmw@amazon.co.uk \
    --cc=elena.reshetova@intel.com \
    --cc=fei1.li@intel.com \
    --cc=hpa@zytor.com \
    --cc=jan.kiszka@siemens.com \
    --cc=jgross@suse.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhklinux@outlook.com \
    --cc=michal.lkml@markovi.net \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=seanjc@google.com \
    --cc=sstabellini@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vkuznets@redhat.com \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.