[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 2/6] queue: Add macro for incremental travers
From: |
Lluís Vilanova |
Subject: |
Re: [Qemu-devel] [PATCH v6 2/6] queue: Add macro for incremental traversal |
Date: |
Tue, 27 Jun 2017 12:13:42 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Richard Henderson writes:
> On 06/26/2017 05:33 AM, Lluís Vilanova wrote:
>> Richard Henderson writes:
>>
>>> On 06/12/2017 07:54 AM, Lluís Vilanova wrote:
>>>> Adds macro QTAILQ_FOREACH_CONTINUE to support incremental list
>>>> traversal.
>>>>
>>>> Signed-off-by: Lluís Vilanova <address@hidden>
>>>> ---
>>>> include/qemu/queue.h | 12 ++++++++++++
>>>> 1 file changed, 12 insertions(+)
>>>>
>>>> diff --git a/include/qemu/queue.h b/include/qemu/queue.h
>>>> index 35292c3155..eb2bf9cb1c 100644
>>>> --- a/include/qemu/queue.h
>>>> +++ b/include/qemu/queue.h
>>>> @@ -415,6 +415,18 @@ struct {
>>>> \
>>>> (var); \
>>>> (var) = ((var)->field.tqe_next))
>>>> +/**
>>>> + * QTAILQ_FOREACH_CONTINUE:
>>>> + * @var: Variable to resume iteration from.
>>>> + * @field: Field in @var holding a QTAILQ_ENTRY for this queue.
>>>> + *
>>>> + * Resumes iteration on a queue from the element in @var.
>>>> + */
>>>> +#define QTAILQ_FOREACH_CONTINUE(var, field) \
>>>> + for ((var) = ((var)->field.tqe_next); \
>>>> + (var); \
>>>> + (var) = ((var)->field.tqe_next))
>>>> +
>>>> #define QTAILQ_FOREACH_SAFE(var, head, field, next_var) \
>>>> for ((var) = ((head)->tqh_first); \
>>>> (var) && ((next_var) = ((var)->field.tqe_next), 1); \
>>>>
>>>>
>>
>>> I still say this isn't required if the breakpoint loop is better structured.
>>
>> I can embed the use of QTAILQ into translate-block.c, but I wanted to keep
>> the
>> implementation of breakpoint lists hidden behind the cpu_breakpoint API.
> I think using QTAILQ in the common main loop is better than twisting the logic
> so that the loop is unnaturally split into a subroutine.
Ok, then I'll integrate that into the new series.
Thanks,
Lluis
[Qemu-devel] [PATCH v6 3/6] target: [tcg] Add generic translation framework, Lluís Vilanova, 2017/06/12
Re: [Qemu-devel] [PATCH v6 3/6] target: [tcg] Add generic translation framework, Emilio G. Cota, 2017/06/15