> -----Original Message----- > From: Alexander Shishkin [mailto:alexander.shish...@linux.intel.com] > Sent: Friday, November 14, 2014 2:44 PM > To: Peter Zijlstra > Cc: Ingo Molnar; linux-kernel@vger.kernel.org; Robert Richter; Frederic > Weisbecker; Mike Galbraith; Paul Mackerras; Stephane Eranian; Andi Kleen; > Liang, Kan; Hunter, Adrian; Metzger, Markus T; mathieu.poir...@linaro.org; > a...@infradead.org; Peter Zijlstra; Alexander Shishkin > Subject: [PATCH v8 02/14] perf: Add AUX area to ring buffer for raw data > streams > > From: Peter Zijlstra <pet...@infradead.org> > > This patch introduces "AUX space" in the perf mmap buffer, intended for > exporting high bandwidth data streams to userspace, such as instruction > flow traces. > > AUX space is a ring buffer, defined by aux_{offset,size} fields in the > user_page structure, and read/write pointers aux_{head,tail}, which abide > by the same rules as data_* counterparts of the main perf buffer. > > In order to allocate/mmap AUX, userspace needs to set up aux_offset to > such an offset that will be greater than data_offset+data_size and > aux_size to be the desired buffer size. Both need to be page aligned. > Then, same aux_offset and aux_size should be passed to mmap() call and > if everything adds up, you should have an AUX buffer as a result.
Why would userspace need to fill in aux_offset and aux_size? Can't the kernel do this when userspace mmaps the aux buffer like it does for the respective data_* fields? How would userspace fill in those fields if it mapped the data buffer read-only? Regards, Markus. Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk Registergericht: Muenchen HRB 47456 Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/