qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: peter.maydell@linaro.org, doug16k@gmail.com,
	imbrenda@linux.vnet.ibm.com, qemu-devel@nongnu.org,
	Riku Voipio <riku.voipio@iki.fi>,
	Laurent Vivier <laurent@vivier.eu>
Subject: Re: [Qemu-devel] [PATCH v3 3/4] qom/cpu: remove host_tid field
Date: Mon, 05 Jun 2017 16:10:07 +0100	[thread overview]
Message-ID: <87shjeh3n4.fsf@linaro.org> (raw)
In-Reply-To: <d2c59ba0-6b90-4dba-f7af-087a66d43142@redhat.com>


Paolo Bonzini <pbonzini@redhat.com> writes:

> On 02/06/2017 15:05, Alex Bennée wrote:
>> This was only used by the gdbstub and even then was only being set for
>> subsequent threads. Rather the continue duplicating the number just
>> make the gdbstub get the information from TaskState structure.
>>
>> Now the tid is correctly reported for all threads the bug I was seeing
>> with "vCont;C04:0;c" packets is fixed as the correct tid is reported
>> to gdb.
>>
>> I moved cpu_gdb_index into the gdbstub to facilitate easy access to
>> the TaskState which is used elsewhere in gdbstub.
>
> I think bsd-user does not have ts_tid?

I'll test the build on BSD, I think I have a VM somewhere.

>
> Thanks,
>
> Paolo
>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Reviewed-by: Greg Kurz <groug@kaod.org>
>> Reviewed-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com>
>> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
>>
>> ---
>> v3
>>   - fix merge, did move of function in previous commit
>> ---
>>  gdbstub.c            | 3 ++-
>>  include/qom/cpu.h    | 2 --
>>  linux-user/syscall.c | 1 -
>>  3 files changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/gdbstub.c b/gdbstub.c
>> index 57befe16e2..45a3a0b16b 100644
>> --- a/gdbstub.c
>> +++ b/gdbstub.c
>> @@ -63,7 +63,8 @@ static inline int target_memory_rw_debug(CPUState *cpu, target_ulong addr,
>>  static inline int cpu_gdb_index(CPUState *cpu)
>>  {
>>  #if defined(CONFIG_USER_ONLY)
>> -    return cpu->host_tid;
>> +    TaskState *ts = (TaskState *) cpu->opaque;
>> +    return ts->ts_tid;
>>  #else
>>      return cpu->cpu_index + 1;
>>  #endif
>> diff --git a/include/qom/cpu.h b/include/qom/cpu.h
>> index 55214ce131..909e7ae994 100644
>> --- a/include/qom/cpu.h
>> +++ b/include/qom/cpu.h
>> @@ -266,7 +266,6 @@ struct qemu_work_item;
>>   * @nr_cores: Number of cores within this CPU package.
>>   * @nr_threads: Number of threads within this CPU.
>>   * @numa_node: NUMA node this CPU is belonging to.
>> - * @host_tid: Host thread ID.
>>   * @running: #true if CPU is currently running (lockless).
>>   * @has_waiter: #true if a CPU is currently waiting for the cpu_exec_end;
>>   * valid under cpu_list_lock.
>> @@ -321,7 +320,6 @@ struct CPUState {
>>      HANDLE hThread;
>>  #endif
>>      int thread_id;
>> -    uint32_t host_tid;
>>      bool running, has_waiter;
>>      struct QemuCond *halt_cond;
>>      bool thread_kicked;
>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
>> index 925ae11ea6..003943b736 100644
>> --- a/linux-user/syscall.c
>> +++ b/linux-user/syscall.c
>> @@ -6219,7 +6219,6 @@ static void *clone_func(void *arg)
>>      thread_cpu = cpu;
>>      ts = (TaskState *)cpu->opaque;
>>      info->tid = gettid();
>> -    cpu->host_tid = info->tid;
>>      task_settid(ts);
>>      if (info->child_tidptr)
>>          put_user_u32(info->tid, info->child_tidptr);
>>


--
Alex Bennée

  reply	other threads:[~2017-06-05 15:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02 13:05 [Qemu-devel] [PATCH v3 0/4] some gdbstub fixes for debug and vcont Alex Bennée
2017-06-02 13:05 ` [Qemu-devel] [PATCH v3 1/4] gdbstub: modernise DEBUG_GDB Alex Bennée
2017-06-02 13:05 ` [Qemu-devel] [PATCH v3 2/4] gdbstub: rename cpu_index -> cpu_gdb_index Alex Bennée
2017-06-02 13:05 ` [Qemu-devel] [PATCH v3 3/4] qom/cpu: remove host_tid field Alex Bennée
2017-06-05 13:47   ` Paolo Bonzini
2017-06-05 15:10     ` Alex Bennée [this message]
2017-06-02 13:05 ` [Qemu-devel] [PATCH v3 4/4] gdbstub: don't fail on vCont; C04:0; c packets Alex Bennée
2017-06-05 20:56   ` Philippe Mathieu-Daudé
2017-06-05 13:48 ` [Qemu-devel] [PATCH v3 0/4] some gdbstub fixes for debug and vcont Paolo Bonzini

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=87shjeh3n4.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=doug16k@gmail.com \
    --cc=imbrenda@linux.vnet.ibm.com \
    --cc=laurent@vivier.eu \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /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).