Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-12 Thread Gleb Natapov
On Tue, Mar 12, 2013 at 10:25:35AM +0100, Jan Kiszka wrote: > On 2013-03-11 20:30, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 19:51, Gleb Natapov wrote: > > On Intel: > > CPU 1 CPU 2 in a guest mode >

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-12 Thread Jan Kiszka
On 2013-03-11 20:30, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: >> On 2013-03-11 19:51, Gleb Natapov wrote: > On Intel: > CPU 1 CPU 2 in a guest mode > send INIT > send SIPI > INIT

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-12 Thread Jan Kiszka
On 2013-03-11 20:30, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: On 2013-03-11 19:51, Gleb Natapov wrote: On Intel: CPU 1 CPU 2 in a guest mode send INIT send SIPI INIT vmexit

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-12 Thread Gleb Natapov
On Tue, Mar 12, 2013 at 10:25:35AM +0100, Jan Kiszka wrote: On 2013-03-11 20:30, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: On 2013-03-11 19:51, Gleb Natapov wrote: On Intel: CPU 1 CPU 2 in a guest mode send INIT send SIPI

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: > On 2013-03-11 19:51, Gleb Natapov wrote: > >>> On Intel: > >>> CPU 1 CPU 2 in a guest mode > >>> send INIT > >>> send SIPI > >>> INIT vmexit > >>>

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:51, Gleb Natapov wrote: >>> On Intel: >>> CPU 1 CPU 2 in a guest mode >>> send INIT >>> send SIPI >>> INIT vmexit >>> vmxoff >>> reset and start from SIPI

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:47:03PM +0100, Jan Kiszka wrote: > On 2013-03-11 19:39, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 19:13, Gleb Natapov wrote: > >>> On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: > On

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:39, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: >> On 2013-03-11 19:13, Gleb Natapov wrote: >>> On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 06:34:03PM

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: > On 2013-03-11 19:13, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 18:41, Gleb Natapov wrote: > >>> On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: > On

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:13, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: >> On 2013-03-11 18:41, Gleb Natapov wrote: >>> On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 04:36:33PM

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: > On 2013-03-11 18:41, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 18:23, Gleb Natapov wrote: > >>> On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: > On

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:41, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: >> On 2013-03-11 18:23, Gleb Natapov wrote: >>> On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: > Il 11/03/2013 15:05, Gleb Natapov

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 06:39:44PM +0100, Paolo Bonzini wrote: > Il 11/03/2013 18:20, Gleb Natapov ha scritto: > > On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: > >> Il 11/03/2013 14:54, Gleb Natapov ha scritto: > Setting the mp_state to INIT_RECEIVED is that interface, and

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: > On 2013-03-11 18:23, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 15:23, Paolo Bonzini wrote: > >>> Il 11/03/2013 15:05, Gleb Natapov ha scritto: > On Mon, Mar 11, 2013 at

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 18:20, Gleb Natapov ha scritto: > On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: >> Il 11/03/2013 14:54, Gleb Natapov ha scritto: Setting the mp_state to INIT_RECEIVED is that interface, and it already works, for APs at least. This patch extends it to work

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:34, Jan Kiszka wrote: > On 2013-03-11 18:23, Gleb Natapov wrote: >> On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: >>> On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: > On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:23, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: >> On 2013-03-11 15:23, Paolo Bonzini wrote: >>> Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: >> We are not moving away from

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: > On 2013-03-11 15:23, Paolo Bonzini wrote: > > Il 11/03/2013 15:05, Gleb Natapov ha scritto: > >> On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: > We are not moving away from mp_state, we are moving away from using >

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: > Il 11/03/2013 14:54, Gleb Natapov ha scritto: > >> Setting the mp_state to INIT_RECEIVED is that interface, and it already > >> works, for APs at least. This patch extends it to work for the BSP as > >> well. > > > > It does not

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:23, Paolo Bonzini wrote: > Il 11/03/2013 15:05, Gleb Natapov ha scritto: >> On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 14:54, Gleb Natapov ha scritto: >> Setting the mp_state to INIT_RECEIVED is that interface, and it already >> works, for APs at least. This patch extends it to work for the BSP as well. > > It does not for AP either. If AP has vmx on mp_sate should not be set to > INIT_RECEIVED.

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 15:05, Gleb Natapov ha scritto: > On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: >>> We are not moving away from mp_state, we are moving away from using >>> mp_state for signaling because with nested virt INIT does not always >>> change mp_state, not only that it can

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:12, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 03:10:45PM +0100, Jan Kiszka wrote: >> On 2013-03-11 15:09, Gleb Natapov wrote: >>> On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: On 2013-03-11 15:05, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 03:01:40PM

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:10:45PM +0100, Jan Kiszka wrote: > On 2013-03-11 15:09, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: > >> On 2013-03-11 15:05, Gleb Natapov wrote: > >>> On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: > > We are not

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:09, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: >> On 2013-03-11 15:05, Gleb Natapov wrote: >>> On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: > We are not moving away from mp_state, we are moving away from using >

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: > On 2013-03-11 15:05, Gleb Natapov wrote: > > On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: > >>> We are not moving away from mp_state, we are moving away from using > >>> mp_state for signaling because with nested virt

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:05, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: >>> We are not moving away from mp_state, we are moving away from using >>> mp_state for signaling because with nested virt INIT does not always >>> change mp_state, not only that it can change

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: > > We are not moving away from mp_state, we are moving away from using > > mp_state for signaling because with nested virt INIT does not always > > change mp_state, not only that it can change mp_state long after signal > > is received

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 14:54, Gleb Natapov wrote: > On Mon, Mar 11, 2013 at 02:31:46PM +0100, Paolo Bonzini wrote: >> Il 11/03/2013 12:51, Gleb Natapov ha scritto: > > Agreed, but we still have the problem of how to signal from userspace. > For that do you have any other suggestion than

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 02:31:46PM +0100, Paolo Bonzini wrote: > Il 11/03/2013 12:51, Gleb Natapov ha scritto: > >> > > >> > Agreed, but we still have the problem of how to signal from userspace. > >> > For that do you have any other suggestion than mp_state? And if we keep > >> > mp_state to

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 12:51, Gleb Natapov ha scritto: >> > >> > Agreed, but we still have the problem of how to signal from userspace. >> > For that do you have any other suggestion than mp_state? And if we keep >> > mp_state to signal from userspace, giving INIT_RECEIVED the >> > "wait-for-SIPI"

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 12:25:57PM +0100, Paolo Bonzini wrote: > Il 11/03/2013 11:28, Gleb Natapov ha scritto: > >> Not really true---we do exit with that state and EINTR when we get a > >> SIPI. Perhaps that can be changed. > > > > That's implementation detail. We can jump to the beginning of

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 11:28, Gleb Natapov ha scritto: >> Not really true---we do exit with that state and EINTR when we get a >> SIPI. Perhaps that can be changed. > > That's implementation detail. We can jump to the beginning of the > function instead. Nowhere we document that entering >

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 11:14:39AM +0100, Paolo Bonzini wrote: > Il 10/03/2013 19:10, Gleb Natapov ha scritto: > > On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: > >> Il 10/03/2013 16:35, Gleb Natapov ha scritto: > > However, it would effectively redefine the meaning of > >

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 10/03/2013 19:10, Gleb Natapov ha scritto: > On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: >> Il 10/03/2013 16:35, Gleb Natapov ha scritto: > However, it would effectively redefine the meaning of > KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 10/03/2013 19:10, Gleb Natapov ha scritto: On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: Il 10/03/2013 16:35, Gleb Natapov ha scritto: However, it would effectively redefine the meaning of KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively to

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 11:14:39AM +0100, Paolo Bonzini wrote: Il 10/03/2013 19:10, Gleb Natapov ha scritto: On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: Il 10/03/2013 16:35, Gleb Natapov ha scritto: However, it would effectively redefine the meaning of

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 11:28, Gleb Natapov ha scritto: Not really true---we do exit with that state and EINTR when we get a SIPI. Perhaps that can be changed. That's implementation detail. We can jump to the beginning of the function instead. Nowhere we document that entering

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 12:25:57PM +0100, Paolo Bonzini wrote: Il 11/03/2013 11:28, Gleb Natapov ha scritto: Not really true---we do exit with that state and EINTR when we get a SIPI. Perhaps that can be changed. That's implementation detail. We can jump to the beginning of the

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 12:51, Gleb Natapov ha scritto: Agreed, but we still have the problem of how to signal from userspace. For that do you have any other suggestion than mp_state? And if we keep mp_state to signal from userspace, giving INIT_RECEIVED the wait-for-SIPI semantics would be

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 02:31:46PM +0100, Paolo Bonzini wrote: Il 11/03/2013 12:51, Gleb Natapov ha scritto: Agreed, but we still have the problem of how to signal from userspace. For that do you have any other suggestion than mp_state? And if we keep mp_state to signal from

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 14:54, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 02:31:46PM +0100, Paolo Bonzini wrote: Il 11/03/2013 12:51, Gleb Natapov ha scritto: Agreed, but we still have the problem of how to signal from userspace. For that do you have any other suggestion than mp_state? And if we keep

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not always change mp_state, not only that it can change mp_state long after signal is received after vmx

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:05, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not always change mp_state, not only that it can change mp_state

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: On 2013-03-11 15:05, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:09, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: On 2013-03-11 15:05, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:10:45PM +0100, Jan Kiszka wrote: On 2013-03-11 15:09, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: On 2013-03-11 15:05, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:12, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:10:45PM +0100, Jan Kiszka wrote: On 2013-03-11 15:09, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:06:18PM +0100, Jan Kiszka wrote: On 2013-03-11 15:05, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not always change mp_state, not only that it can change

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 14:54, Gleb Natapov ha scritto: Setting the mp_state to INIT_RECEIVED is that interface, and it already works, for APs at least. This patch extends it to work for the BSP as well. It does not for AP either. If AP has vmx on mp_sate should not be set to INIT_RECEIVED. mp_sate is

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for signaling because with nested virt INIT does not always change

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: Il 11/03/2013 14:54, Gleb Natapov ha scritto: Setting the mp_state to INIT_RECEIVED is that interface, and it already works, for APs at least. This patch extends it to work for the BSP as well. It does not for AP either.

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are moving away from using mp_state for

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We are not moving away from mp_state, we are

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:34, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM +0100, Jan Kiszka wrote: We

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Paolo Bonzini
Il 11/03/2013 18:20, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: Il 11/03/2013 14:54, Gleb Natapov ha scritto: Setting the mp_state to INIT_RECEIVED is that interface, and it already works, for APs at least. This patch extends it to work for the BSP

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:01:40PM

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 06:39:44PM +0100, Paolo Bonzini wrote: Il 11/03/2013 18:20, Gleb Natapov ha scritto: On Mon, Mar 11, 2013 at 03:28:03PM +0100, Paolo Bonzini wrote: Il 11/03/2013 14:54, Gleb Natapov ha scritto: Setting the mp_state to INIT_RECEIVED is that interface, and it already

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 18:41, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo Bonzini wrote: Il 11/03/2013 15:05, Gleb Natapov ha scritto: On

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan Kiszka wrote: On 2013-03-11 15:23, Paolo

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:13, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 04:36:33PM +0100, Jan

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: On 2013-03-11 19:13, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan Kiszka wrote: On 2013-03-11 18:23, Gleb

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:39, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: On 2013-03-11 19:13, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 06:34:03PM +0100, Jan

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 07:47:03PM +0100, Jan Kiszka wrote: On 2013-03-11 19:39, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:27:44PM +0100, Jan Kiszka wrote: On 2013-03-11 19:13, Gleb Natapov wrote: On Mon, Mar 11, 2013 at 07:05:48PM +0100, Jan Kiszka wrote: On 2013-03-11 18:41, Gleb

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Jan Kiszka
On 2013-03-11 19:51, Gleb Natapov wrote: On Intel: CPU 1 CPU 2 in a guest mode send INIT send SIPI INIT vmexit vmxoff reset and start from SIPI vector Is SIPI sticky as

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-11 Thread Gleb Natapov
On Mon, Mar 11, 2013 at 08:01:30PM +0100, Jan Kiszka wrote: On 2013-03-11 19:51, Gleb Natapov wrote: On Intel: CPU 1 CPU 2 in a guest mode send INIT send SIPI INIT vmexit vmxoff

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: > Il 10/03/2013 16:35, Gleb Natapov ha scritto: > >> > However, it would effectively redefine the meaning of > >> > KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively > >> > to KVM_MP_STATE_WAIT_FOR_SIPI and

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Paolo Bonzini
Il 10/03/2013 16:35, Gleb Natapov ha scritto: >> > However, it would effectively redefine the meaning of >> > KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively >> > to KVM_MP_STATE_WAIT_FOR_SIPI and KVM_MP_STATE_RESETTING. I wasn't sure >> > if this is considered an API

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sun, Mar 10, 2013 at 03:53:54PM +0100, Paolo Bonzini wrote: > Il 10/03/2013 12:46, Gleb Natapov ha scritto: > > On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: > >> After receiving an INIT signal (either via the local APIC, or through > >> KVM_SET_MP_STATE), the bootstrap

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Paolo Bonzini
Il 10/03/2013 12:46, Gleb Natapov ha scritto: > On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: >> After receiving an INIT signal (either via the local APIC, or through >> KVM_SET_MP_STATE), the bootstrap processor should reset immediately >> and start execution at 0xfff0.

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: > After receiving an INIT signal (either via the local APIC, or through > KVM_SET_MP_STATE), the bootstrap processor should reset immediately > and start execution at 0xfff0. Also, SIPIs have no effect on the > bootstrap

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: After receiving an INIT signal (either via the local APIC, or through KVM_SET_MP_STATE), the bootstrap processor should reset immediately and start execution at 0xfff0. Also, SIPIs have no effect on the bootstrap processor.

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Paolo Bonzini
Il 10/03/2013 12:46, Gleb Natapov ha scritto: On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: After receiving an INIT signal (either via the local APIC, or through KVM_SET_MP_STATE), the bootstrap processor should reset immediately and start execution at 0xfff0. Also, SIPIs

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sun, Mar 10, 2013 at 03:53:54PM +0100, Paolo Bonzini wrote: Il 10/03/2013 12:46, Gleb Natapov ha scritto: On Sat, Mar 09, 2013 at 07:48:33AM +0100, Paolo Bonzini wrote: After receiving an INIT signal (either via the local APIC, or through KVM_SET_MP_STATE), the bootstrap processor should

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Paolo Bonzini
Il 10/03/2013 16:35, Gleb Natapov ha scritto: However, it would effectively redefine the meaning of KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively to KVM_MP_STATE_WAIT_FOR_SIPI and KVM_MP_STATE_RESETTING. I wasn't sure if this is considered an API change

Re: [PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-10 Thread Gleb Natapov
On Sun, Mar 10, 2013 at 06:19:07PM +0100, Paolo Bonzini wrote: Il 10/03/2013 16:35, Gleb Natapov ha scritto: However, it would effectively redefine the meaning of KVM_MP_STATE_INIT_RECEIVED and KVM_MP_STATE_SIPI_RECEIVED, respectively to KVM_MP_STATE_WAIT_FOR_SIPI and

[PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-08 Thread Paolo Bonzini
After receiving an INIT signal (either via the local APIC, or through KVM_SET_MP_STATE), the bootstrap processor should reset immediately and start execution at 0xfff0. Also, SIPIs have no effect on the bootstrap processor. However, KVM currently does not differentiate between the BSP and

[PATCH] x86: kvm: reset the bootstrap processor when it gets an INIT

2013-03-08 Thread Paolo Bonzini
After receiving an INIT signal (either via the local APIC, or through KVM_SET_MP_STATE), the bootstrap processor should reset immediately and start execution at 0xfff0. Also, SIPIs have no effect on the bootstrap processor. However, KVM currently does not differentiate between the BSP and