From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zoltan Kiss Subject: Re: [PATCH] tracing/events: Add bounce tracing to swiotbl-xen Date: Mon, 2 Sep 2013 18:54:30 +0100 Message-ID: <5224D0D6.40908@citrix.com> References: <1377208048-8963-1-git-send-email-zoltan.kiss@citrix.com> <20130823125533.GC14306@konrad-lan.dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130823125533.GC14306@konrad-lan.dumpdata.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Konrad Rzeszutek Wilk Cc: Jeremy Fitzhardinge , xen-devel@lists.xensource.com, Frederic Weisbecker , linux-kernel@vger.kernel.org, Steven Rostedt , virtualization@lists.linux-foundation.org, Ingo Molnar List-Id: xen-devel@lists.xenproject.org On 23/08/13 13:55, Konrad Rzeszutek Wilk wrote: > On Thu, Aug 22, 2013 at 10:47:28PM +0100, Zoltan Kiss wrote: >> Ftrace is currently not able to detect when SWIOTLB has to do double buffering >> under Xen. You can only see it indirectly in function_graph, when >> xen_swiotlb_map_page() doesn't stop after range_straddles_page_boundary(), but >> calls spinlock functions, memcpy() and xen_phys_to_bus() as well. This patch >> introduces the swiotlb-xen:bounced event, which also prints out the following >> informations to help you find out why bouncing happened: >> >> dev_name: 0000:08:00.0 dma_mask=ffffffffffffffff dev_addr=9149f000 size=32768 >> swiotlb_force=0 >> >> If (dev_addr + size + 1) > dma_mask, the buffer is out of the device's DMA >> range. If swiotlb_force == 1, you should really change the kernel parameters. >> Otherwise, the buffer is not contiguous in mfn space. > > Could this be in the lib/swiotlb.c instead? You mean instead of drivers/xen/swiotlb-xen.c ? This is a Xen SWIOTLB specific thing, it will hit exactly at the point when double buffering becomes sure - under Xen. But I can rename the tracer and call trace_bounced in swiotlb_map_page as well, so it can be used for normal SWIOTLB bounce tracing as well. Is it OK for you? Regards, Zoli