[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 1/1] update seabios to master snapshot
From: |
Emilio G. Cota |
Subject: |
Re: [Qemu-devel] [PULL 1/1] update seabios to master snapshot |
Date: |
Fri, 1 Feb 2019 19:35:19 -0500 |
User-agent: |
Mutt/1.9.4 (2018-02-28) |
Hi Gerd,
On Tue, Nov 06, 2018 at 12:28:29 +0100, Gerd Hoffmann wrote:
> seabios 1.12 release is planned for november.
>
> update seabios to a master branch snapshot so it gets more testing
> and to make the delta smaller when updating to -final during freeze.
I just bisected a performance regression for TCG-based x86 emulation
to this commit.
The issue is that after this patch, tlb_flush() gets called *way*
more often -- e.g. ~90,000 instead of ~400 times in the first second
or so when booting.
Steps to reproduce:
1. Add this debug print:
--- a/accel/tcg/cputlb.c
+++ b/accel/tcg/cputlb.c
@@ -183,6 +183,12 @@ void tlb_flush_by_mmuidx(CPUState *cpu, uint16_td)
void tlb_flush(CPUState *cpu)
{
+ static int count;
+
+ count++;
+ if (!(count % 100)) {
+ printf("%s: %d\n", __func__, count);
+ }
tlb_flush_by_mmuidx(cpu, ALL_MMUIDX_BITS);
}
2. build QEMU
3. invoke with:
$ x86_64-softmmu/qemu-system-x86_64 -nographic
You should then see many "tlb_flush: N" lines, with N
reaching ~90,000 before the SeaBIOS banner comes out.
Note that before this patch, you should only see N == ~400
before reaching the banner.
How can I bisect seabios? I can't find a recipe to generate
the .bin files included in this commit.
Thanks,
Emilio
- Re: [Qemu-devel] [PULL 1/1] update seabios to master snapshot,
Emilio G. Cota <=