[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH qom-cpu 31/59] monitor: Simplify do_info_numa()
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH qom-cpu 31/59] monitor: Simplify do_info_numa() |
Date: |
Sun, 16 Jun 2013 23:31:55 +0300 |
On Sun, Jun 16, 2013 at 06:41:24PM +0200, Andreas Färber wrote:
> Am 11.06.2013 09:41, schrieb Markus Armbruster:
> > Andreas Färber <address@hidden> writes:
> >> If having patch 57/59 larger is not a concern (which getting rid of
> >> open-coded CPU loops tried to address), then I can just convert the
> >> loops in place alongside first_cpu / next_cpu.
> >> Then still the question remains of whether you'd want to inline and drop
> >> qemu_for_each_cpu() afterwards, or whether we can establish some rules
> >> of thumb when to use which?
> >
> > To be honest, I see no value in qemu_for_each_cpu().
> >
> > At a glance, PATCH 57 looks fairly mechanical to me. Is it? Would it
> > remain so if refrains from converting simple loops to
> > qemu_for_each_cpu()?
>
> v2 does that now.
>
> Andreas
I think it's a bad idea to have everyone looking at CPU state
also care about the data structure used to keep all CPUs.
If we switch to another datastructure what then? Rework it again?
And I think it *would* be a good idea to rework it -
there's a singly linked list there manually put together
using the next_cpu pointer.
We have macros for list manipulation, it should use that.
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-devel] [PATCH qom-cpu 27/59] cpu: Turn cpu_unassigned_access() into a CPUState hook, (continued)
[Qemu-devel] [PATCH qom-cpu 28/59] cpu: Replace cpu_single_env with CPUState cpu_single_cpu, Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 32/59] kvm: Simplify kvm_{insert, remove, remove_all}_breakpoint[s](), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 33/59] kvm: Simplify kvm_remove_all_breakpoints() further, Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 34/59] kvm: Change kvm_remove_all_breakpoints() argument to CPUState, Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 35/59] linux-user: Simplify start_exclusive(), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 36/59] linux-user/elfload: Abstract fill_note_info() with qemu_for_each_cpu(), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 38/59] translate-all: Abstract tb_flush() with qemu_for_each_cpu(), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 37/59] target-i386: Abstract cpu_x86_inject_mce() with qemu_for_each_cpu(), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 39/59] translate-all: Abstract tb_phys_invalidate() with qemu_for_each_cpu(), Andreas Färber, 2013/06/09
[Qemu-devel] [PATCH qom-cpu 40/59] target-ppc: Abstract helper_msgsnd() with qemu_for_each_cpu(), Andreas Färber, 2013/06/09