qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v2 08/11] tcg: add options for enabling MTTCG


From: Sergey Fedorov
Subject: Re: [Qemu-devel] [RFC v2 08/11] tcg: add options for enabling MTTCG
Date: Tue, 12 Apr 2016 16:23:08 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

On 05/04/16 18:32, Alex Bennée wrote:
> diff --git a/cpus.c b/cpus.c
> index 46732a5..8d27fb0 100644
> --- a/cpus.c
> +++ b/cpus.c

(snip)

> @@ -146,6 +147,48 @@ typedef struct TimersState {
>  } TimersState;
>  
>  static TimersState timers_state;
> +static bool mttcg_enabled;
> +
> +static QemuOptsList qemu_tcg_opts = {
> +    .name = "tcg",
> +    .head = QTAILQ_HEAD_INITIALIZER(qemu_tcg_opts.head),
> +    .desc = {
> +        {
> +            .name = "mttcg",
> +            .type = QEMU_OPT_BOOL,
> +            .help = "Enable/disable multi-threaded TCG",
> +        },
> +        { /* end of list */ }
> +    },
> +};
> +
> +static void tcg_register_config(void)
> +{
> +    qemu_add_opts(&qemu_tcg_opts);
> +}
> +
> +opts_init(tcg_register_config);
> +
> +static bool default_mttcg_enabled(void)
> +{
> +    /*
> +     * TODO: Check if we have a chance to have MTTCG working on this 
> guest/host.
> +     *       Basically is the atomic instruction implemented? Is there any
> +     *       memory ordering issue?
> +     */

I think this could be decided in configure/makefiles.

> +    return false;
> +}
> +
> +void qemu_tcg_configure(QemuOpts *opts)
> +{
> +    mttcg_enabled = qemu_opt_get_bool(opts, "mttcg", 
> default_mttcg_enabled());
> +}
> +
> +bool qemu_tcg_mttcg_enabled(void)
> +{
> +    return mttcg_enabled;
> +}
> +
>  
>  int64_t cpu_get_icount_raw(void)
>  {
> diff --git a/include/qom/cpu.h b/include/qom/cpu.h
> index 13eeaae..5e3826c 100644
> --- a/include/qom/cpu.h
> +++ b/include/qom/cpu.h
> @@ -369,6 +369,20 @@ extern struct CPUTailQ cpus;
>  extern __thread CPUState *current_cpu;
>  
>  /**
> + * qemu_tcg_enable_mttcg:
> + * Enable the MultiThread TCG support.
> + */
> +void qemu_tcg_enable_mttcg(void);

Seems to be an orphaned declaration.

Kind regards,
Sergey



reply via email to

[Prev in Thread] Current Thread [Next in Thread]