qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
@ 2012-01-08 21:40 Igor Mammedov
  2012-01-09  8:47 ` Gleb Natapov
  0 siblings, 1 reply; 7+ messages in thread
From: Igor Mammedov @ 2012-01-08 21:40 UTC (permalink / raw)
  To: qemu-devel; +Cc: avi, gleb

 Change introduced by e71f08bb4a
    "Fix cpu/pci hotplug to generate level triggered interrupt."
 was lost somewhre along the way. And as result SCI is not sent in
 case of cpu hotplug event.
 Restoring hunk 1 of e71f08bb4a fixes issue.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
 hw/acpi_piix4.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 1b35707..741a8cc 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -94,7 +94,8 @@ static void pm_update_sci(PIIX4PMState *s)
                    ACPI_BITMASK_POWER_BUTTON_ENABLE |
                    ACPI_BITMASK_GLOBAL_LOCK_ENABLE |
                    ACPI_BITMASK_TIMER_ENABLE)) != 0) ||
-        (((s->gpe.sts[0] & s->gpe.en[0]) & PIIX4_PCI_HOTPLUG_STATUS) != 0);
+        (((s->gpe.sts[0] & s->gpe.en[0]) &
+          (PIIX4_CPU_HOTPLUG_STATUS | PIIX4_PCI_HOTPLUG_STATUS)) != 0);
 
     qemu_set_irq(s->irq, sci_level);
     /* schedule a timer interruption if needed */
-- 
1.7.7.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-08 21:40 [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug Igor Mammedov
@ 2012-01-09  8:47 ` Gleb Natapov
  2012-01-09 10:03   ` Jan Kiszka
  0 siblings, 1 reply; 7+ messages in thread
From: Gleb Natapov @ 2012-01-09  8:47 UTC (permalink / raw)
  To: Igor Mammedov; +Cc: jan.kiszka, qemu-devel, avi

On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
>  Change introduced by e71f08bb4a
>     "Fix cpu/pci hotplug to generate level triggered interrupt."
>  was lost somewhre along the way. And as result SCI is not sent in
>  case of cpu hotplug event.
>  Restoring hunk 1 of e71f08bb4a fixes issue.
> 
Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
here. Which remind me that in that thread more problem were found in cpu
hotplug. IIRC Jan collected all the patches. Jan, what happened to
them?

[1] http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/76399

> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> ---
>  hw/acpi_piix4.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> index 1b35707..741a8cc 100644
> --- a/hw/acpi_piix4.c
> +++ b/hw/acpi_piix4.c
> @@ -94,7 +94,8 @@ static void pm_update_sci(PIIX4PMState *s)
>                     ACPI_BITMASK_POWER_BUTTON_ENABLE |
>                     ACPI_BITMASK_GLOBAL_LOCK_ENABLE |
>                     ACPI_BITMASK_TIMER_ENABLE)) != 0) ||
> -        (((s->gpe.sts[0] & s->gpe.en[0]) & PIIX4_PCI_HOTPLUG_STATUS) != 0);
> +        (((s->gpe.sts[0] & s->gpe.en[0]) &
> +          (PIIX4_CPU_HOTPLUG_STATUS | PIIX4_PCI_HOTPLUG_STATUS)) != 0);
>  
>      qemu_set_irq(s->irq, sci_level);
>      /* schedule a timer interruption if needed */
> -- 
> 1.7.7.5

--
			Gleb.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-09  8:47 ` Gleb Natapov
@ 2012-01-09 10:03   ` Jan Kiszka
  2012-01-09 10:07     ` Gleb Natapov
  0 siblings, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2012-01-09 10:03 UTC (permalink / raw)
  To: Gleb Natapov
  Cc: Igor Mammedov, Liu Ping Fan, qemu-devel@nongnu.org,
	avi@redhat.com

On 2012-01-09 09:47, Gleb Natapov wrote:
> On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
>>  Change introduced by e71f08bb4a
>>     "Fix cpu/pci hotplug to generate level triggered interrupt."
>>  was lost somewhre along the way. And as result SCI is not sent in
>>  case of cpu hotplug event.
>>  Restoring hunk 1 of e71f08bb4a fixes issue.
>>
> Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
> here. Which remind me that in that thread more problem were found in cpu
> hotplug. IIRC Jan collected all the patches. Jan, what happened to
> them?

My patches should have been superseded by the work of Ping Fan on the
ICC bus.

Jan

> 
> [1] http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/76399
> 
>> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
>> ---
>>  hw/acpi_piix4.c |    3 ++-
>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
>> index 1b35707..741a8cc 100644
>> --- a/hw/acpi_piix4.c
>> +++ b/hw/acpi_piix4.c
>> @@ -94,7 +94,8 @@ static void pm_update_sci(PIIX4PMState *s)
>>                     ACPI_BITMASK_POWER_BUTTON_ENABLE |
>>                     ACPI_BITMASK_GLOBAL_LOCK_ENABLE |
>>                     ACPI_BITMASK_TIMER_ENABLE)) != 0) ||
>> -        (((s->gpe.sts[0] & s->gpe.en[0]) & PIIX4_PCI_HOTPLUG_STATUS) != 0);
>> +        (((s->gpe.sts[0] & s->gpe.en[0]) &
>> +          (PIIX4_CPU_HOTPLUG_STATUS | PIIX4_PCI_HOTPLUG_STATUS)) != 0);
>>  
>>      qemu_set_irq(s->irq, sci_level);
>>      /* schedule a timer interruption if needed */
>> -- 
>> 1.7.7.5
> 
> --
> 			Gleb.

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-09 10:03   ` Jan Kiszka
@ 2012-01-09 10:07     ` Gleb Natapov
  2012-01-09 10:19       ` Jan Kiszka
  0 siblings, 1 reply; 7+ messages in thread
From: Gleb Natapov @ 2012-01-09 10:07 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: Igor Mammedov, Liu Ping Fan, qemu-devel@nongnu.org,
	avi@redhat.com

On Mon, Jan 09, 2012 at 11:03:10AM +0100, Jan Kiszka wrote:
> On 2012-01-09 09:47, Gleb Natapov wrote:
> > On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
> >>  Change introduced by e71f08bb4a
> >>     "Fix cpu/pci hotplug to generate level triggered interrupt."
> >>  was lost somewhre along the way. And as result SCI is not sent in
> >>  case of cpu hotplug event.
> >>  Restoring hunk 1 of e71f08bb4a fixes issue.
> >>
> > Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
> > here. Which remind me that in that thread more problem were found in cpu
> > hotplug. IIRC Jan collected all the patches. Jan, what happened to
> > them?
> 
> My patches should have been superseded by the work of Ping Fan on the
> ICC bus.
> 
Didn't they fix some problems with bringing new cpu online, not just
making cpu hotplugable in qdev? May be I misremember. BTW do you know
what happened with ICC bus patches?

> Jan
> 
> > 
> > [1] http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/76399
> > 
> >> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> >> ---
> >>  hw/acpi_piix4.c |    3 ++-
> >>  1 files changed, 2 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
> >> index 1b35707..741a8cc 100644
> >> --- a/hw/acpi_piix4.c
> >> +++ b/hw/acpi_piix4.c
> >> @@ -94,7 +94,8 @@ static void pm_update_sci(PIIX4PMState *s)
> >>                     ACPI_BITMASK_POWER_BUTTON_ENABLE |
> >>                     ACPI_BITMASK_GLOBAL_LOCK_ENABLE |
> >>                     ACPI_BITMASK_TIMER_ENABLE)) != 0) ||
> >> -        (((s->gpe.sts[0] & s->gpe.en[0]) & PIIX4_PCI_HOTPLUG_STATUS) != 0);
> >> +        (((s->gpe.sts[0] & s->gpe.en[0]) &
> >> +          (PIIX4_CPU_HOTPLUG_STATUS | PIIX4_PCI_HOTPLUG_STATUS)) != 0);
> >>  
> >>      qemu_set_irq(s->irq, sci_level);
> >>      /* schedule a timer interruption if needed */
> >> -- 
> >> 1.7.7.5
> > 
> > --
> > 			Gleb.
> 
> -- 
> Siemens AG, Corporate Technology, CT T DE IT 1
> Corporate Competence Center Embedded Linux

--
			Gleb.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-09 10:07     ` Gleb Natapov
@ 2012-01-09 10:19       ` Jan Kiszka
  2012-01-09 11:07         ` Igor Mammedov
  0 siblings, 1 reply; 7+ messages in thread
From: Jan Kiszka @ 2012-01-09 10:19 UTC (permalink / raw)
  To: Gleb Natapov
  Cc: Igor Mammedov, Liu Ping Fan, qemu-devel@nongnu.org,
	avi@redhat.com

On 2012-01-09 11:07, Gleb Natapov wrote:
> On Mon, Jan 09, 2012 at 11:03:10AM +0100, Jan Kiszka wrote:
>> On 2012-01-09 09:47, Gleb Natapov wrote:
>>> On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
>>>>  Change introduced by e71f08bb4a
>>>>     "Fix cpu/pci hotplug to generate level triggered interrupt."
>>>>  was lost somewhre along the way. And as result SCI is not sent in
>>>>  case of cpu hotplug event.
>>>>  Restoring hunk 1 of e71f08bb4a fixes issue.
>>>>
>>> Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
>>> here. Which remind me that in that thread more problem were found in cpu
>>> hotplug. IIRC Jan collected all the patches. Jan, what happened to
>>> them?
>>
>> My patches should have been superseded by the work of Ping Fan on the
>> ICC bus.
>>
> Didn't they fix some problems with bringing new cpu online, not just
> making cpu hotplugable in qdev? May be I misremember.

Let me check... Hmm, yes, there were also some bits required to bring up
the new VCPU thread properly and sync its initial state to the kernel.
That was not part of Ping Fan's ICC patches, also not of the VCPU life
cycle patches.

> BTW do you know
> what happened with ICC bus patches?

Were forgotten to merge? And/or they lacked some acked-by or
reviewed-by. :-/

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-09 10:19       ` Jan Kiszka
@ 2012-01-09 11:07         ` Igor Mammedov
  2012-01-09 11:15           ` Jan Kiszka
  0 siblings, 1 reply; 7+ messages in thread
From: Igor Mammedov @ 2012-01-09 11:07 UTC (permalink / raw)
  To: Jan Kiszka
  Cc: Liu Ping Fan, qemu-devel@nongnu.org, Gleb Natapov, avi@redhat.com

On 01/09/2012 11:19 AM, Jan Kiszka wrote:
> On 2012-01-09 11:07, Gleb Natapov wrote:
>> On Mon, Jan 09, 2012 at 11:03:10AM +0100, Jan Kiszka wrote:
>>> On 2012-01-09 09:47, Gleb Natapov wrote:
>>>> On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
>>>>>   Change introduced by e71f08bb4a
>>>>>      "Fix cpu/pci hotplug to generate level triggered interrupt."
>>>>>   was lost somewhre along the way. And as result SCI is not sent in
>>>>>   case of cpu hotplug event.
>>>>>   Restoring hunk 1 of e71f08bb4a fixes issue.
>>>>>
>>>> Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
>>>> here. Which remind me that in that thread more problem were found in cpu
>>>> hotplug. IIRC Jan collected all the patches. Jan, what happened to
>>>> them?
>>>
>>> My patches should have been superseded by the work of Ping Fan on the
>>> ICC bus.
>>>
>> Didn't they fix some problems with bringing new cpu online, not just
>> making cpu hotplugable in qdev? May be I misremember.
>
> Let me check... Hmm, yes, there were also some bits required to bring up
> the new VCPU thread properly and sync its initial state to the kernel.

CPU bring-up seems to be broken now, guest sees a new cpu but I can't
online it inside guest with error: "CPUx: Not responding". But it
works with old qemu-kvm [3925c857a574].
Jan could you point me to this patches?

> That was not part of Ping Fan's ICC patches, also not of the VCPU life
> cycle patches.

I'm trying to re-base cpu-hotplug to qemu.git, and with ICC patches it's
working like the current qemu-kvm head. But without above mentioned fixes
it seams to be useless.

>
>> BTW do you know
>> what happened with ICC bus patches?
>
> Were forgotten to merge? And/or they lacked some acked-by or
> reviewed-by. :-/
>
> Jan
>

-- 
Thanks,
  Igor

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug
  2012-01-09 11:07         ` Igor Mammedov
@ 2012-01-09 11:15           ` Jan Kiszka
  0 siblings, 0 replies; 7+ messages in thread
From: Jan Kiszka @ 2012-01-09 11:15 UTC (permalink / raw)
  To: Igor Mammedov
  Cc: Liu Ping Fan, qemu-devel@nongnu.org, Gleb Natapov, avi@redhat.com

On 2012-01-09 12:07, Igor Mammedov wrote:
> On 01/09/2012 11:19 AM, Jan Kiszka wrote:
>> On 2012-01-09 11:07, Gleb Natapov wrote:
>>> On Mon, Jan 09, 2012 at 11:03:10AM +0100, Jan Kiszka wrote:
>>>> On 2012-01-09 09:47, Gleb Natapov wrote:
>>>>> On Sun, Jan 08, 2012 at 10:40:04PM +0100, Igor Mammedov wrote:
>>>>>>   Change introduced by e71f08bb4a
>>>>>>      "Fix cpu/pci hotplug to generate level triggered interrupt."
>>>>>>   was lost somewhre along the way. And as result SCI is not sent in
>>>>>>   case of cpu hotplug event.
>>>>>>   Restoring hunk 1 of e71f08bb4a fixes issue.
>>>>>>
>>>>> Hmm, I sent similar patch [1] last time someone complained about cpu hotplug
>>>>> here. Which remind me that in that thread more problem were found in cpu
>>>>> hotplug. IIRC Jan collected all the patches. Jan, what happened to
>>>>> them?
>>>>
>>>> My patches should have been superseded by the work of Ping Fan on the
>>>> ICC bus.
>>>>
>>> Didn't they fix some problems with bringing new cpu online, not just
>>> making cpu hotplugable in qdev? May be I misremember.
>>
>> Let me check... Hmm, yes, there were also some bits required to bring up
>> the new VCPU thread properly and sync its initial state to the kernel.
> 
> CPU bring-up seems to be broken now, guest sees a new cpu but I can't
> online it inside guest with error: "CPUx: Not responding". But it
> works with old qemu-kvm [3925c857a574].
> Jan could you point me to this patches?

See
http://git.kiszka.org/?p=qemu-kvm.git;a=commitdiff;h=be8f21c6b54eac82f7add7ee9d4ecf9cb8ebb320

Its dependencies have been merged by now. The key is that you need to
synchronize VCPU initialization with the other QEMU threads (so that no
semi-initialized VCPU is visible at any time) and that you perform a
cpu_synchronize_post_init on that VCPU. The hotplug hack is replaced by
the ICC approach.

> 
>> That was not part of Ping Fan's ICC patches, also not of the VCPU life
>> cycle patches.
> 
> I'm trying to re-base cpu-hotplug to qemu.git, and with ICC patches it's
> working like the current qemu-kvm head. But without above mentioned fixes
> it seams to be useless.

Make sure to work against qemu first. Getting things rolling with
qemu-kvm is usually trivial. Working the other way around may create new
forks again.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-01-09 11:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-08 21:40 [Qemu-devel] [PATCH qemu-kvm] Fix: SCI isn't sent on cpu hotplug Igor Mammedov
2012-01-09  8:47 ` Gleb Natapov
2012-01-09 10:03   ` Jan Kiszka
2012-01-09 10:07     ` Gleb Natapov
2012-01-09 10:19       ` Jan Kiszka
2012-01-09 11:07         ` Igor Mammedov
2012-01-09 11:15           ` Jan Kiszka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).