From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH 2/2] x86/microcode: enable boot time (pre-Dom0) loading Date: Thu, 01 Dec 2011 05:25:40 +0000 Message-ID: References: <4ED7423602000078000648FE@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4ED7423602000078000648FE@nat28.tlf.novell.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: Jan Beulich Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 01/12/2011 08:00, "Jan Beulich" wrote: >>>> On 30.11.11 at 10:05, Keir Fraser wrote: >> On 30/11/2011 16:27, "Jan Beulich" wrote: >> >>> >>> In order to not convert the spin_lock() in microcode_update_cpu() (and >>> then obviously also all other uses on microcode_mutex) to >>> spin_lock_irqsave() (which would be undesirable for the hypercall >>> context in which the function also runs), the boot time handling gets >>> done using a tasklet (instead of using on_selected_cpus()). >> >> Can you explain this some more? Why would the conversion to >> spin_lock_irqsave be required when spin_lock is sufficient for current usage >> from dom0 hypercall? > > Because check_lock() wants locks to be acquired consistently? Oh I see, and we use continue_hypercall_on_cpu() in the hypercall case. Makes sense then. -- Keir > Jan >