[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0809261724000.21618@gandalf.stny.rr.com>
Date: Fri, 26 Sep 2008 17:26:15 -0400 (EDT)
From: Steven Rostedt <rostedt@...dmis.org>
To: Masami Hiramatsu <mhiramat@...hat.com>
cc: Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>, Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
prasad@...ux.vnet.ibm.com,
Linus Torvalds <torvalds@...ux-foundation.org>,
Mathieu Desnoyers <compudj@...stal.dyndns.org>,
"Frank Ch. Eigler" <fche@...hat.com>,
David Wilder <dwilder@...ibm.com>, hch@....de,
Martin Bligh <mbligh@...gle.com>,
Christoph Hellwig <hch@...radead.org>,
Steven Rostedt <srostedt@...hat.com>,
Arnaldo Carvalho de Melo <acme@...stprotocols.net>
Subject: Re: [PATCH v6] Unified trace buffer
On Fri, 26 Sep 2008, Masami Hiramatsu wrote:
> Peter Zijlstra wrote:
> > On Fri, 2008-09-26 at 14:05 -0400, Steven Rostedt wrote:
> >> +static void
> >> +rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned
> >> nr_pages)
> >> +{
> >> + struct page *page;
> >> + struct list_head *p;
> >> + unsigned i;
> >> +
> >> + atomic_inc(&cpu_buffer->record_disabled);
> >
> > You probably want synchronize_sched() here (and similar other places) to
> > ensure any active writer on the corresponding cpu is actually stopped.
>
> Would it really be done in the buffer layer?
> I think it should be done by each tracer, because buffer layer
> can't ensure truly active writers have stopped.
>
Actually it can ;-)
Since all writes to the buffer at least disable preemption, by issuing a
synchronize_sched, we can guarantee that after disabling the record, all
activity will be done.
-- Steve
--
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