Re: [Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-03-02 Thread Jan Beulich
On 02.03.2020 10:37, Jürgen Groß wrote: > On 02.03.20 10:06, Jan Beulich wrote: >> On 29.02.2020 06:47, Jürgen Groß wrote: >>> On 28.02.20 20:06, Andrew Cooper wrote: On 28/02/2020 17:13, Juergen Gross wrote: > @@ -700,6 +688,32 @@ int >

Re: [Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-03-02 Thread Jürgen Groß
On 02.03.20 10:06, Jan Beulich wrote: On 29.02.2020 06:47, Jürgen Groß wrote: On 28.02.20 20:06, Andrew Cooper wrote: On 28/02/2020 17:13, Juergen Gross wrote: @@ -700,6 +688,32 @@ int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long len) return ret; }

Re: [Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-03-02 Thread Jan Beulich
On 29.02.2020 06:47, Jürgen Groß wrote: > On 28.02.20 20:06, Andrew Cooper wrote: >> On 28/02/2020 17:13, Juergen Gross wrote: >>> @@ -700,6 +688,32 @@ int >>> microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long len) >>> return ret; >>> } >>> >>> +int

Re: [Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-02-28 Thread Jürgen Groß
On 28.02.20 20:06, Andrew Cooper wrote: On 28/02/2020 17:13, Juergen Gross wrote: @@ -700,6 +688,32 @@ int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long len) return ret; } +int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long len) +{ +

Re: [Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-02-28 Thread Andrew Cooper
On 28/02/2020 17:13, Juergen Gross wrote: > @@ -700,6 +688,32 @@ int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) > buf, unsigned long len) > return ret; > } > > +int microcode_update(XEN_GUEST_HANDLE_PARAM(const_void) buf, unsigned long > len) > +{ > +int ret; > +struct

[Xen-devel] [PATCH v3] xen: make sure stop_machine_run() is always called in a tasklet

2020-02-28 Thread Juergen Gross
With core scheduling active it is mandatory for stop_machine_run() to be called in idle context only (so either during boot or in a tasklet), as otherwise a scheduling deadlock would occur: stop_machine_run() does a cpu rendezvous by activating a tasklet on all other cpus. In case