From: "Emilio G. Cota" <cota@braap.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <rth@twiddle.net>
Subject: [Qemu-devel] [PATCH v4 00/43] tcg: support for multiple TCG contexts
Date: Fri, 21 Jul 2017 01:59:18 -0400 [thread overview]
Message-ID: <1500616763-26560-1-git-send-email-cota@braap.org> (raw)
v3:
https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg06353.html
To ease review/testing, you can pull this series from:
https://github.com/cota/qemu/tree/multi-tcg-v4
[ head commit: 1d50a9f24e ]
In this iteration I'm sending only the few patches that contain changes
from v3; they are highlighted in the change list below.
Changes from v3:
- Add R-b tags
- Rebase on top of current master (25d0233c1)
- [PATCH 11] tb->cflags hashing: add CF_COUNT_MASK to CF_HASH_MASK
- [PATCH 20] tcg_ctx.cf_parallel: convert to tcg_ctx.tb_cflags (Richard:
kept your R-b)
- [PATCH 35] TCG optimizer: allocate using tcg_malloc (Richard: dropped
your R-b)
- [PATCH 42] TCG regions:
- expand first and last regions to fully use the buffer
- use tcg_region_bounds as suggested by Richard
- substitute regions.n_full with region.agg_full_size since now
not all regions are of the same size
- add region.stride and .start_aligned fields
- Only use qemu_real_host_page_size once in the file; guard size
is derived as 'region.stride - region.size'
- [PATCH 43] TCG __thread: (Richard: kept your R-b)
- do not assume CONFIG_SOFTMMU == !CONFIG_USER_ONLY
- use atomic_read/set on tcg_ctxs[] as well
- Remove unnecessary clearing of tcg_ctx->prof in tcg_register_thread()
To be done after this series:
- Get rid of tb_lock, or at least push it down so that we take advantage of
multiple TCG contexts in MTTCG. (I'm doing this in my testing, but doing
it well will require another patch series.)
Improvements that were suggested during this series' development:
- Perhaps look at arranging fields such that all the fields that are
"shared" between the contexts are up front, and use the qemu standard
'memcpy(new, old, offsetof(TCGContext, end_common_fields));' trick, and
zero the rest.
- Order tb->[*] comparisons by likelihood of mismatch.
- Get rid of parallel_cpus from from cpu_exec_step_atomic -- I'm not sure
whether just removing it is safe, since we call curr_cflags from several
places.
- Add CF_NOCHAIN flag, that tcg-op can check via tcg_ctx->tb_cflags.
- Expand CF_HASH_MASK to compare all bits in cflags. Would require cleaning
CF_IGNORE_ICOUNT up.
- Perhaps parse -accel=tcg command-line arguments before TCG is initialized,
so that those arguments can be used during TCG initialization.
Thanks,
Emilio
next reply other threads:[~2017-07-21 5:59 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-21 5:59 Emilio G. Cota [this message]
2017-07-21 5:59 ` [Qemu-devel] [PATCH v4 11/43] tcg: define CF_PARALLEL and use it for TB hashing along with CF_COUNT_MASK Emilio G. Cota
2017-07-21 21:28 ` Richard Henderson
2017-08-27 22:15 ` Pranith Kumar
2017-08-29 21:16 ` Emilio G. Cota
2017-08-30 14:43 ` Pranith Kumar
2017-09-22 20:40 ` Emilio G. Cota
2017-09-25 17:01 ` Richard Henderson
2017-10-05 23:24 ` Emilio G. Cota
2017-10-09 19:24 ` Emilio G. Cota
2017-10-10 1:23 ` Richard Henderson
2017-07-21 5:59 ` [Qemu-devel] [PATCH v4 20/43] tcg: check CF_PARALLEL instead of parallel_cpus Emilio G. Cota
2017-07-21 5:59 ` [Qemu-devel] [PATCH v4 35/43] tcg: allocate optimizer temps with tcg_malloc Emilio G. Cota
2017-07-21 21:31 ` Richard Henderson
2017-07-21 5:59 ` [Qemu-devel] [PATCH v4 42/43] tcg: introduce regions to split code_gen_buffer Emilio G. Cota
2017-07-21 21:38 ` Richard Henderson
2017-07-21 5:59 ` [Qemu-devel] [PATCH v4 43/43] tcg: enable multiple TCG contexts in softmmu Emilio G. Cota
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=1500616763-26560-1-git-send-email-cota@braap.org \
--to=cota@braap.org \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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).