From: Shin-ichiro KAWASAKI <kawasaki@juno.dti.ne.jp>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] sh : performance problem
Date: Thu, 05 Mar 2009 00:39:15 +0900 [thread overview]
Message-ID: <49AEA0A3.8030003@juno.dti.ne.jp> (raw)
In-Reply-To: <1236119312.4005.13.camel@coalu.atr>
Lionel Landwerlin wrote:
> Le mardi 03 mars 2009 à 20:25 +0100, Laurent Desnogues a écrit :
>> On Tue, Mar 3, 2009 at 7:57 PM, Lionel Landwerlin
>> <lionel.landwerlin@openwide.fr> wrote:
>>> Le mercredi 04 mars 2009 à 00:46 +0900, Shin-ichiro KAWASAKI a écrit :
>> [...]
>>>> sh4 : 5.8 [seconds] O(n) utlb search.
>>>> sh4 : 4.6 [seconds] O(log2(n)) utlb search.
>>>> sh4 : 4.1 [seconds] O(1) utlb search by Lionel
>>>> arm : 0.8 [seconds] (-M versatilepb + Debian ARM)
>>>>
>>>> Your patch has a nice score!
>>> Great :) But we're still far from arm :(
>> It would be interesting if you could run oprofile of both platforms
>> (and even better if that was with call-graph output).
>>
>>>>> +#if !defined(CONFIG_USER_ONLY)
>>>>> + /* vpn to utlb entry caches (too much space for user emulation) */
>>>>> + uint8_t utlbs_1k[4194304]; /* 222 => 4 Mb */
>>>>> + uint8_t utlbs_4k[1048576]; /* 220 => 1 Mb */
>>>>> + uint8_t utlbs_64k[65536]; /* 216 => 64 Kb */
>>>>> + uint8_t utlbs_1m[4096]; /* 212 => 4 Kb */
>>>>> +#endif
>>>>> } CPUSH4State;
>>>> Isn't it too gorgeous?
>>>> How about allocating them on demand?
>>>> I guess sh-linux uses only utlbs_4k[], in general.
>>>> If so, 4 Mb utlbs_1k[] is waste.
>>>>
>>> sh-linux can also use huge pages of 64k and 1M.
>>>
>>> I think it is important to keep the emulation as close as possible from
>>> the real the cpu capabilities.
>> I think Shin-ichiro was rather pointing a the number of 1k pages,
>> which are probably not used. OTOH I agree being close to
>> CPU capabilities is important.
>
> The problem is, when a virtual address space must be resolved, the cpu
> emulator is not able to know what page size has been (or not) used to
> map the address. Thus we must handle the worst case...
>
> And after all, 5Mb isn't so much, considering the fact that the physical
> guest memory, in system emulation, can be mapped anywhere in the host
> virtual address space, contrary to the user emulation that have harder
> contraints...
IMO, it will be another patch which introduces lines like this.
if (!env->utlbs_1k)
env->utlbs_1k = qemu_mallocz(4194304);
But footprint tuning can be left as future task.
Sorry for being too critical.
Regards,
Shin-ichiro KAWASAKI
next prev parent reply other threads:[~2009-03-04 15:39 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-26 16:28 [Qemu-devel] sh : performance problem Shin-ichiro KAWASAKI
2009-02-28 19:15 ` Lionel Landwerlin
2009-03-01 6:05 ` Shin-ichiro KAWASAKI
2009-03-01 12:46 ` Lionel Landwerlin
2009-03-01 16:10 ` Shin-ichiro KAWASAKI
2009-03-01 17:39 ` Lionel Landwerlin
2009-03-02 14:46 ` Shin-ichiro KAWASAKI
2009-03-02 22:30 ` Lionel Landwerlin
2009-03-03 15:32 ` Shin-ichiro KAWASAKI
2009-03-02 23:58 ` Lionel Landwerlin
2009-03-03 0:09 ` Lionel Landwerlin
2009-03-03 15:46 ` Shin-ichiro KAWASAKI
2009-03-03 18:57 ` Lionel Landwerlin
2009-03-03 19:25 ` Laurent Desnogues
2009-03-03 22:28 ` Lionel Landwerlin
2009-03-04 2:59 ` Paul Brook
2009-03-04 15:22 ` Shin-ichiro KAWASAKI
2009-03-04 15:39 ` Shin-ichiro KAWASAKI [this message]
2009-03-03 23:11 ` Lionel Landwerlin
2009-03-04 15:12 ` Shin-ichiro KAWASAKI
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=49AEA0A3.8030003@juno.dti.ne.jp \
--to=kawasaki@juno.dti.ne.jp \
--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).