qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] qemu-user performance
@ 2018-11-16 13:55 Etienne Dublé
  2018-11-16 15:41 ` Emilio G. Cota
  0 siblings, 1 reply; 3+ messages in thread
From: Etienne Dublé @ 2018-11-16 13:55 UTC (permalink / raw)
  To: qemu-devel

Hello,
Please forgive my little knowledge about qemu internals.
Some time ago I had an idea that might improve usage of qemu user mode 
(I believe) and I would like to get your thoughts about it.
Context: qemu-user is used by more and more people to run containers 
(e.g. docker) based on a different CPU architecture (e.g. the OS of a 
raspberry pi). With linux kernel module "binfmt_misc", the emulation is 
handled transparently by qemu. Usually, a shell session will be run 
first, and then many subprocesses. And of course, each of these 
processes is actually a qemu process running in "user-mode". For 
example, if one types "make" to compile some code, there will be a "qemu 
make" process, then probably 10 or more "qemu gcc" processes, etc. Since 
all of these are different qemu processes, they do not share any 
knowledge, so each time a new one is spawn, it has to translate the 
binary code of libc, ld-linux, any other library it uses, its own binary 
code, etc. When it ends, all this work is lost, and new processes will 
have to reprocess a big part of the very same code over and over again.
So the idea is: what if we could share the cache of code already 
translated between all those processes?
There would be sereral ways to achieve this:
* use a shared memory area for the cache, and locking mechanisms.
* have a (maybe optional) daemon that would manage the cache of all 
processes.
* python-like model: the first time a binary or library is translated, 
save this translated code in a cache file next to the original file, 
with different extension.
Please let me know what you think about it, if something similar has 
already been studied, or if I miss something obvious.
Thanks
Etienne

-- 
Etienne Dublé
CNRS / LIG - Bâtiment IMAG
700 avenue Centrale - 38401 St Martin d'Hères
Bureau 426 - Tel 0457421431

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-16 16:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-16 13:55 [Qemu-devel] qemu-user performance Etienne Dublé
2018-11-16 15:41 ` Emilio G. Cota
2018-11-16 16:46   ` Etienne Dublé

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).