From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH] xen/arm: create_p2m_entries has to flush TLBs on every CPU Date: Wed, 23 Apr 2014 12:22:48 +0100 Message-ID: <5357A288.8070803@linaro.org> References: <1397837530-12301-1-git-send-email-julien.grall@linaro.org> <1398251165.18537.34.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WcvGO-0007sp-Bt for xen-devel@lists.xenproject.org; Wed, 23 Apr 2014 11:22:52 +0000 Received: by mail-ee0-f43.google.com with SMTP id e53so667013eek.30 for ; Wed, 23 Apr 2014 04:22:50 -0700 (PDT) In-Reply-To: <1398251165.18537.34.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: xen-devel@lists.xenproject.org, tim@xen.org, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org Hi Ian, On 04/23/2014 12:06 PM, Ian Campbell wrote: > On Fri, 2014-04-18 at 17:12 +0100, Julien Grall wrote: >> The function create_p2m_entries creates mappings in second-level page tables >> which is shared between every CPU. > > You say create_p2m_entries twice but then patch create_xen_entries. Is > it the patch or the description which is wrong? The description is wrong, sorry. I will send a new version of this patch. > >> Only flushing TLBs on local processor may result to wrong behaviour >> when io{re,un}map is used. > > From this sounds like it's the desription? > >> Signed-off-by: Julien Grall >> --- >> >> This patch is candidate to be backported to Xen 4.4. >> >> create_p2m_entries is only used by vmap ( iore{,un}map functions. >> >> Upstream Xen 4.4 calls these functions only when 1 CPU is online so it's >> "safe". People might want to use them when multiple CPUs are online. >> >> Ian: Do you plan to backport your tlb series? If not, this patch will have >> to slighty change because Xen 4.4 doesn't have TLBs helper to flush xen >> data on every cpus. > > I wasn't planning to backport the tlb series, but I could look at > backporting the required bits I suppose. > > However, is it needed? Does 4.4 make any ioremap calls where this would > actually hurt? I think all the uses in xen/arch/arm/platforms/*.c are > short lived and only accessed from the current cpu. The one in > xen/drivers/video/arm_hdlcd.c is done before we go SMP anyway. There is some in serials drivers. I was thinking about people making product based Xen 4.4. They might use io{re,un}map in their own code with all CPUs up. Regards, -- Julien Grall