From: "Philippe Mathieu-Daudé" <philmd@redhat.com> To: Helge Deller <deller@gmx.de>, Peter Maydell <peter.maydell@linaro.org>, Michael Tokarev <mjt@tls.msk.ru> Cc: QEMU Developers <qemu-devel@nongnu.org>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Aurelien Jarno <aurelien@aurel32.net> Subject: Re: [Qemu-devel] [PATCH] configure: Automatically fall back to TCI on non-release architectures Date: Fri, 5 Apr 2019 10:47:54 +0200 [thread overview] Message-ID: <068f4832-7e0b-8850-ffa0-fcf1ecd50295@redhat.com> (raw) In-Reply-To: <b48c6984-f0fc-a597-53a0-4869c822ce73@gmx.de> Hi Helge, On 4/5/19 9:56 AM, Helge Deller wrote: > On 05.04.19 03:34, Peter Maydell wrote: >> On Fri, 5 Apr 2019 at 01:59, Helge Deller <deller@gmx.de> wrote: >>> If a non-release architecture is found, and it's known that there is no >>> native TCG support for that CPU, automatically fall back to the TCI >>> implementation instead of requesting the user to run configure again >>> with the --enable-tcg-interpreter option. >>> >>> This change simplifies building qemu in automatic build environments >>> (like in my case the debian buildds) because one does not need to >>> special case on the architectures. >> >> I don't think we should do this. TCI is unmaintained, has several >> known flaws, > > Just out of interest: Is there a list with those flaws somewhere? The last big discussion is in this thread: https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg06528.html >> does not provide the level of performance that >> people expect from QEMU, and we've talked about removing it >> altogether. In particular, distros should not automatically ship >> a TCI QEMU -- it's something that a user can use if they >> explicitly opt into but which I don't think we want to surprise >> anybody with. > > I won't argue against your points. They are all valid. > >> If we care about a host architecture we should support it >> with a proper TCG backend. If we don't care that much we >> shouldn't support it. > > Looking just at some of the debian "ports" (non-release) architectures: > alpha, hppa, ia64, m68k, powerpc, sh4, sparc64 > Most likely nobody will ever care enough to write a TCG backend for those, > and it doesn't even make sense because they are so much slower than > the currently supported TCG backend architectures. So why should one want > to emulate a fast x86 machine on slow m68k for example? >From experience: when a m68k compiler is only provided as a x86 binary and you want to recompile m68k code on an embedded m68k with no network access. Another example appeared last year on the list, when using a binary compiled for a more recent ISA on an outdated ISA. > The only reason when it *can* make sense is, when you need "basic" > emulation or availability of binaries for cross-dependecies in distros, > e.g. to build other packages or to be able to install other packages. > As one example, many packages depend on libvirt (frontend tools, monitoring > stuff, ...) and libvirt again depends on some qemu binaries. > So, having qemu buildable (even if the result is slow) makes life easier. > > I know, my point above now turns into a "distro packaging" issue. > That's why I'm questioning, why should distros (or even direct end-users) > be forced to distinguish between architectures? > Shouldn't running "./configure" find out what's available and then > auto-configure itself to the *best* what's possible? > > And, my patch still prints the warning that that's an unsupported > architecture, at the end of configure there is still the big warning > about "*this architecture may go away*", and if someone complains about > performance on such an architecture you can still happily invite him to > write the TCG backend. > > Anyway, if you think Philippe's suggestion of "why not add a "hppa" case selecting > TCI in the switch?" is the better solution, then I'm happy to send such a patch > instead. I suggested that as a "less worth" approach, but I'm 100% with Peter on this. I understand your use and still think this should be handled by Debian for his "ports" (non-release) architectures, as an explicit selected option on the list you mentioned (alpha, hppa, ia64, m68k, powerpc, sh4, sparc64).
WARNING: multiple messages have this Message-ID (diff)
From: "Philippe Mathieu-Daudé" <philmd@redhat.com> To: Helge Deller <deller@gmx.de>, Peter Maydell <peter.maydell@linaro.org>, Michael Tokarev <mjt@tls.msk.ru> Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>, QEMU Developers <qemu-devel@nongnu.org>, Aurelien Jarno <aurelien@aurel32.net> Subject: Re: [Qemu-devel] [PATCH] configure: Automatically fall back to TCI on non-release architectures Date: Fri, 5 Apr 2019 10:47:54 +0200 [thread overview] Message-ID: <068f4832-7e0b-8850-ffa0-fcf1ecd50295@redhat.com> (raw) Message-ID: <20190405084754.70FJjkI-28HsOT7qZ-pWVRGcmX5bzRQODvR4HKW69f8@z> (raw) In-Reply-To: <b48c6984-f0fc-a597-53a0-4869c822ce73@gmx.de> Hi Helge, On 4/5/19 9:56 AM, Helge Deller wrote: > On 05.04.19 03:34, Peter Maydell wrote: >> On Fri, 5 Apr 2019 at 01:59, Helge Deller <deller@gmx.de> wrote: >>> If a non-release architecture is found, and it's known that there is no >>> native TCG support for that CPU, automatically fall back to the TCI >>> implementation instead of requesting the user to run configure again >>> with the --enable-tcg-interpreter option. >>> >>> This change simplifies building qemu in automatic build environments >>> (like in my case the debian buildds) because one does not need to >>> special case on the architectures. >> >> I don't think we should do this. TCI is unmaintained, has several >> known flaws, > > Just out of interest: Is there a list with those flaws somewhere? The last big discussion is in this thread: https://lists.gnu.org/archive/html/qemu-devel/2017-06/msg06528.html >> does not provide the level of performance that >> people expect from QEMU, and we've talked about removing it >> altogether. In particular, distros should not automatically ship >> a TCI QEMU -- it's something that a user can use if they >> explicitly opt into but which I don't think we want to surprise >> anybody with. > > I won't argue against your points. They are all valid. > >> If we care about a host architecture we should support it >> with a proper TCG backend. If we don't care that much we >> shouldn't support it. > > Looking just at some of the debian "ports" (non-release) architectures: > alpha, hppa, ia64, m68k, powerpc, sh4, sparc64 > Most likely nobody will ever care enough to write a TCG backend for those, > and it doesn't even make sense because they are so much slower than > the currently supported TCG backend architectures. So why should one want > to emulate a fast x86 machine on slow m68k for example? From experience: when a m68k compiler is only provided as a x86 binary and you want to recompile m68k code on an embedded m68k with no network access. Another example appeared last year on the list, when using a binary compiled for a more recent ISA on an outdated ISA. > The only reason when it *can* make sense is, when you need "basic" > emulation or availability of binaries for cross-dependecies in distros, > e.g. to build other packages or to be able to install other packages. > As one example, many packages depend on libvirt (frontend tools, monitoring > stuff, ...) and libvirt again depends on some qemu binaries. > So, having qemu buildable (even if the result is slow) makes life easier. > > I know, my point above now turns into a "distro packaging" issue. > That's why I'm questioning, why should distros (or even direct end-users) > be forced to distinguish between architectures? > Shouldn't running "./configure" find out what's available and then > auto-configure itself to the *best* what's possible? > > And, my patch still prints the warning that that's an unsupported > architecture, at the end of configure there is still the big warning > about "*this architecture may go away*", and if someone complains about > performance on such an architecture you can still happily invite him to > write the TCG backend. > > Anyway, if you think Philippe's suggestion of "why not add a "hppa" case selecting > TCI in the switch?" is the better solution, then I'm happy to send such a patch > instead. I suggested that as a "less worth" approach, but I'm 100% with Peter on this. I understand your use and still think this should be handled by Debian for his "ports" (non-release) architectures, as an explicit selected option on the list you mentioned (alpha, hppa, ia64, m68k, powerpc, sh4, sparc64).
next prev parent reply other threads:[~2019-04-05 8:48 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-04 18:57 [Qemu-devel] [PATCH] configure: Automatically fall back to TCI on non-release architectures Helge Deller 2019-04-04 19:24 ` Philippe Mathieu-Daudé 2019-04-05 7:14 ` Helge Deller 2019-04-05 7:14 ` Helge Deller 2019-04-05 1:34 ` Peter Maydell 2019-04-05 1:34 ` Peter Maydell 2019-04-05 7:56 ` Helge Deller 2019-04-05 7:56 ` Helge Deller 2019-04-05 8:26 ` Daniel P. Berrangé 2019-04-05 8:26 ` Daniel P. Berrangé 2019-04-05 9:02 ` Helge Deller 2019-04-05 9:02 ` Helge Deller 2019-04-05 9:10 ` Philippe Mathieu-Daudé 2019-04-05 9:10 ` Philippe Mathieu-Daudé 2019-04-05 9:13 ` Peter Maydell 2019-04-05 9:13 ` Peter Maydell 2019-04-05 9:15 ` Daniel P. Berrangé 2019-04-05 9:15 ` Daniel P. Berrangé 2019-04-05 8:47 ` Philippe Mathieu-Daudé [this message] 2019-04-05 8:47 ` Philippe Mathieu-Daudé 2019-04-05 9:02 ` Daniel P. Berrangé 2019-04-05 9:02 ` Daniel P. Berrangé 2019-04-05 9:16 ` Philippe Mathieu-Daudé 2019-04-05 9:16 ` Philippe Mathieu-Daudé 2019-04-09 19:46 ` Stefan Weil 2019-04-09 19:46 ` Stefan Weil 2019-04-09 20:39 ` Richard Henderson 2019-04-09 20:39 ` Richard Henderson 2019-04-10 6:17 ` Stefan Weil 2019-04-10 6:17 ` Stefan Weil 2019-04-11 6:21 ` Richard Henderson 2019-04-11 6:21 ` Richard Henderson 2019-04-10 6:07 ` Thomas Huth 2019-04-10 6:07 ` Thomas Huth 2019-04-10 6:24 ` Stefan Weil 2019-04-10 6:24 ` Stefan Weil 2019-04-10 8:22 ` Thomas Huth 2019-04-10 8:22 ` Thomas Huth 2019-04-10 19:22 ` Stefan Weil 2019-04-10 19:22 ` Stefan Weil 2019-04-10 7:48 ` Thomas Huth 2019-04-10 7:48 ` Thomas Huth 2019-04-06 8:59 ` Richard Henderson 2019-04-06 8:59 ` Richard Henderson
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=068f4832-7e0b-8850-ffa0-fcf1ecd50295@redhat.com \ --to=philmd@redhat.com \ --cc=aurelien@aurel32.net \ --cc=deller@gmx.de \ --cc=mjt@tls.msk.ru \ --cc=peter.maydell@linaro.org \ --cc=qemu-devel@nongnu.org \ --cc=samuel.thibault@ens-lyon.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: linkBe 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).