On 1 July 2015 at 00:58, Laurent Vivier <laur...@vivier.eu> wrote: > Le 30/06/2015 19:20, Peter Maydell a écrit : >> On 30 June 2015 at 18:13, Laurent Vivier <laur...@vivier.eu> wrote: >>> >>> >>> Le 30/06/2015 18:45, Peter Maydell a écrit : >>>> On 30 June 2015 at 17:19, Laurent Vivier <laur...@vivier.eu> wrote: >>>>> When guest base is disabled, RESERVED_VA is 0, and >>>>> (__guest < RESERVED_VA) is always false as __guest is unsigned. >>>>> >>>>> With -Werror=type-limits, this triggers an error: >>>>> >>>>> include/exec/cpu_ldst.h:60:31: error: comparison of unsigned >>>>> expression < 0 is always false [-Werror=type-limits] >>>>> (!RESERVED_VA || (__guest < RESERVED_VA)); \ >>>>> >>>>> This patch removes this comparison when guest base is disabled. >>>> >>>> Is there a useful reason to compile with --disable-guest-base >>>> (ie why we should retain the !CONFIG_USE_GUEST_BASE code >>>> in QEMU at all) ? It was originally optional because we >>>> didn't support it in all our TCG hosts, but we fixed that >>>> back in 2012... >>> >>> TCG generates less code, so performance is better (well, it is what I >>> guess). >>> >>> I've compiled a kernel with and without guest base in a chrooted >>> linux-user-qemu. >>> Without guest base it is ~1 minute less for a 13 minutes build. >>> >>> I can do more tests if you want. >> >> Hmm. That's a fair chunk of speedup. On the downside: >> * you only get this if you're willing to build QEMU from >> source with funny options >> * it won't work for all guest/host combinations (sometimes >> the guest really wants to be able to map at low addresses >> the host won't permit) >> * it's an extra configuration to maintain which we're >> clearly not testing at all upstream >> >> I'd still favour removing it completely, personally... > > In fact, I have made more measurements, it saves only ~10 seconds on a > 13 minutes build.
...that seems like it swings the argument pretty strongly towards dropping the no-guest-base config entirely. I think my suggestion would be: 1) apply this patch for 2.4 2) note in the 2.4 changelog that we're planning to drop --disable-guest-base for 2.5 3) remove the config option and the code after 2.4 releases thanks -- PMM