qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v2 0/5] AArch64 TLB performance improvements
Date: Mon, 04 Aug 2014 11:23:43 +0100	[thread overview]
Message-ID: <87bns0lf9j.fsf@linaro.org> (raw)
In-Reply-To: <CAFEAcA_Bso1-Zmif3fEd+XNnCY1_URJopMJUWKMRhuxd8o0UrA@mail.gmail.com>


Peter Maydell writes:

> On 1 August 2014 17:06, Peter Maydell <peter.maydell@linaro.org> wrote:
>> I'm taking the first two of these into target-arm.next because
>> they're obvious standalone bugfixes. I need to think about the
>> last three a bit more: I dislike just dropping the ARMv5 CPUs
>> from qemu-system-aarch64, it's kind of arbitrary.
>
> So:
>  * there's clearly a big perf win to be had here
>  * this patchset gives us that for 4K pages on AArch64
>  * but it doesn't help for 4K pages on AArch32 (really
>     common)

Well for the AArch32 profile if you ran under qemu-system-aarch64 you
would be OK surely?

>  * and it's not going to be good for 64K pages on AArch64
>    either (which I suspect will not be a rare choice)

Does the kernel already use 64k pages for it's code?

>
> So I think it would be good if we investigated the degree
> of difficulty in improving QEMU's TLB code so it isn't just
> "one TLB entry size with larger pages a bolt-on which we
> hope people don't actually use" first, before we just disable
> all the v5 CPUs.

Given there is likely to be a growth of multiple-page size guests we
probably do want to look at cleaning up the TLB code to handle these
cases gracefully.

Another option we could look at is keeping track of cross-page TB links
and then invalidating them if we need to. We might want to do that based
on heuristics so avoid excessive cleaning up. However you would expect
for example the kernel to sit in it's own set of bigger pages which
never get invalidated where we could happily chain more TBs together.

>
> thanks
> -- PMM

-- 
Alex Bennée

  reply	other threads:[~2014-08-04 10:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30 15:20 [Qemu-devel] [PATCH v2 0/5] AArch64 TLB performance improvements Alex Bennée
2014-07-30 15:20 ` [Qemu-devel] [PATCH v2 1/5] target-arm: don't hardcode mask values in arm_cpu_handle_mmu_fault Alex Bennée
2014-07-30 15:20 ` [Qemu-devel] [PATCH v2 2/5] target-arm: A64: fix TLB flush instructions Alex Bennée
2014-07-30 15:20 ` [Qemu-devel] [PATCH v2 3/5] target-arm: A64: fix use 12 bit page tables for AArch64 Alex Bennée
2014-07-30 15:20 ` [Qemu-devel] [PATCH v2 4/5] scripts/make_device_config.sh: inline includes Alex Bennée
2014-07-30 15:20 ` [Qemu-devel] [PATCH v2 5/5] target-arm: A64: disable a bunch of ARMv5 machines Alex Bennée
2014-08-01 16:45   ` Christopher Covington
2014-08-01 17:32     ` Peter Maydell
2014-08-01 16:06 ` [Qemu-devel] [PATCH v2 0/5] AArch64 TLB performance improvements Peter Maydell
2014-08-01 22:26   ` Peter Maydell
2014-08-04 10:23     ` Alex Bennée [this message]
2014-08-04 10:32       ` Peter Maydell
2014-08-04 13:11         ` Christopher Covington
2014-08-06 20:32     ` Richard Henderson
2014-08-01 19:35 ` Paolo Bonzini
2014-08-04 10:29   ` Alex Bennée
2014-08-04 11:34     ` Alex Bennée

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=87bns0lf9j.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).