From: Keir Fraser Subject: Re: [Patch] continue_hypercall_on_cpu rework using tasklets Date: Wed, 14 Apr 2010 08:15:59 +0100 Message-ID: References: <4BC56792.2000605@ts.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4BC56792.2000605@ts.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Juergen Gross Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 14/04/2010 07:58, "Juergen Gross" wrote: >> The per-cpu area method should work fine, since Xen is non-preemptive? I >> don't think the concurrency you are concerned about can happen. > > The tasklet knows only on which cpu it is running, so the data has to be > stored on the target cpu. And one pcpu can be the target of concurrent calls > from different calling cpus... A tasklet also takes an arbitrary ulong parameter, which you can cast to a pointer to your informational structure. The parameter is specified via tasklet_init(). That should suffice. -- Keir