Re: [Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-15 Thread Andrew Cooper
On 15/12/16 14:59, Jan Beulich wrote: On 15.12.16 at 15:15, wrote: >> On 09/12/16 08:59, Jan Beulich wrote: >> On 08.12.16 at 18:51, wrote: On 08/12/16 16:02, Jan Beulich wrote: > variable. With an IRQ happening at the

Re: [Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-15 Thread Jan Beulich
>>> On 15.12.16 at 15:15, wrote: > On 09/12/16 08:59, Jan Beulich wrote: > On 08.12.16 at 18:51, wrote: >>> On 08/12/16 16:02, Jan Beulich wrote: variable. With an IRQ happening at the deepest point of the stack, and with

Re: [Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-15 Thread Andrew Cooper
On 09/12/16 08:59, Jan Beulich wrote: On 08.12.16 at 18:51, wrote: >> On 08/12/16 16:02, Jan Beulich wrote: >>> variable. With an IRQ happening at the deepest point of the stack, and >>> with send_guest_pirq() being called from there (leading to vcpu_kick() >>> ->

Re: [Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-09 Thread Jan Beulich
>>> On 08.12.16 at 18:51, wrote: > On 08/12/16 16:02, Jan Beulich wrote: >> variable. With an IRQ happening at the deepest point of the stack, and >> with send_guest_pirq() being called from there (leading to vcpu_kick() >> -> ... -> csched_vcpu_wake() ->

Re: [Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-08 Thread Andrew Cooper
On 08/12/16 16:02, Jan Beulich wrote: > __get_page_type(), so far using an on-stack CPU mask variable, is > involved in the recursion when e.g. pinning page tables. This means "in recursion". > there may be up two five instances of the function active at a time, "up to five". > implying five

[Xen-devel] [PATCH 3/3] x86: introduce and use scratch CPU mask

2016-12-08 Thread Jan Beulich
__get_page_type(), so far using an on-stack CPU mask variable, is involved in the recursion when e.g. pinning page tables. This means there may be up two five instances of the function active at a time, implying five instances of the (up to 512 bytes large) CPU mask variable. With an IRQ happening