[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAL26m8J9j9oqGRte80Kp7zH8DQr5RuHPS88w7+2hry2E-N7VYg@mail.gmail.com>
Date: Tue, 8 May 2012 22:00:29 -0700
From: Vaibhav Nagarnaik <vnagarnaik@...gle.com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...hat.com>,
Laurent Chavey <chavey@...gle.com>,
Justin Teravest <teravest@...gle.com>,
David Sharp <dhsharp@...gle.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 1/3] trace: Make removal of ring buffer pages atomic
On Tue, May 8, 2012 at 8:38 PM, Steven Rostedt <rostedt@...dmis.org> wrote:
> BTW, why the two loops and not just:
>
> for_each_buffer_cpu(buffer, cpu) {
> cpu_buffer = buffer->buffers[cpu];
> if (!cpu_buffer->nr_pages_to_update)
> continue;
>
> if (cpu_online(cpu))
> schedule_work_on(cpu, &cpu_buffer->update_pages_work);
> else
> rb_update_pages(cpu_buffer);
> }
>
> ??
>
>
>>
>> /* wait for all the updates to complete */
>> for_each_buffer_cpu(buffer, cpu) {
>> cpu_buffer = buffer->buffers[cpu];
>> - if (cpu_buffer->nr_pages_to_update) {
>> - update_pages_handler(cpu_buffer);
>> - }
>> + if (!cpu_buffer->nr_pages_to_update||
>
> !cpu_buffer->nr_pages_to_update ||
This schedules work for all online CPUs and the offline CPUs resizing
(if any) can occur concurrently. It might not be too much of big deal
to just make it one loop.
Vaibhav Nagarnaik
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists