All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
@ 2012-12-28 10:06 Mariusz Janiak
  2012-12-29 16:51 ` Gilles Chanteperdrix
  2012-12-30 22:34 ` Gilles Chanteperdrix
  0 siblings, 2 replies; 6+ messages in thread
From: Mariusz Janiak @ 2012-12-28 10:06 UTC (permalink / raw)
  To: Xenomai

   Dnia Pi+-tek, 28 Grudnia 2012 01:41 Gilles Chanteperdrix
   <gilles.chanteperdrix@xenomai.org> napisa^3(a)

   > On 12/28/2012 12:47 AM, Mariusz Janiak wrote:

   >

   > > Hi

   > >

   > > As soon as you publish new Xenomai 2.6.2 release, I have tried to
   launch it on my desktop, and unfortunately I went into trouble. My
   testbed:

   > >

   > >  - Xenomai 2.6.2,

   > >

   > >  - Kernel 3.5.3 (I haven't testes earlier versions),

   > >

   > >  - AMD Phenom II X6 1055 + Gigabyte GA-890GPA-UD3H

   > >

   > >  - Ubuntu 12.10.

   > >

   > > The problem is following (from dmesg):

   >

   >

   > The problem real problem is here (from your dmesg):

   >

   > > System has AMD C1E enabled

   > > Switch to broadcast mode on CPU1

   > > Switch to broadcast mode on CPU2

   > > Switch to broadcast mode on CPU3

   > > Switch to broadcast mode on CPU4

   >

   >

   > > I went through installation manual, troubleshooting guide and forum

   >

   > > archives, maybe I have missed something. What is more I have tested
   this

   >

   > > kernel on my laptop HP pavilion dm1 with AMD E-350 and it work

   > > without problems.

   >

   > We have a message saying:

   > I-pipe: cannot use LAPIC as a tick device

   > I-pipe: disable C1E power state in your BIOS

   Thank you Gilles, this was may case, disabling a C1E power state in a
   BIOS definitively solved my problem.


   > For some reason, however, it does not get printed in your case. I
   agree

   > that we should document this in the TROUBLESHOOTING guide.

   >

   > --

   >
   Gilles.

   If you find useful please add bellow text to the TROUBLESHOOTING.adoc
   file.

   On AMD x86_64
   ^^^^^^^^^^^^^
   You will most likely also see the following message:
   --------------------------------------------
   I-pipe: cannot use LAPIC as a tick device
   I-pipe: disable C1E power state in your BIOS
   --------------------------------------------
   Xenomai sends this message if C1E option is enabled in a BIOS. To fix
   this issue please disable C1E support in the BIOS. In some Award BIOS
   this option is located in the +Advanced BIOS Features->+ menu (+AMD
   C1E Support+).
   On some systems, above message may not appear in the system log.
   IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
   solve the problem.

   Mariusz

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

* Re: [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
  2012-12-28 10:06 Mariusz Janiak
@ 2012-12-29 16:51 ` Gilles Chanteperdrix
  2012-12-30 22:34 ` Gilles Chanteperdrix
  1 sibling, 0 replies; 6+ messages in thread
From: Gilles Chanteperdrix @ 2012-12-29 16:51 UTC (permalink / raw)
  To: Mariusz Janiak; +Cc: Xenomai

On 12/28/2012 11:06 AM, Mariusz Janiak wrote:

>    If you find useful please add bellow text to the TROUBLESHOOTING.adoc
>    file.
> 
>    On AMD x86_64
>    ^^^^^^^^^^^^^
>    You will most likely also see the following message:
>    --------------------------------------------
>    I-pipe: cannot use LAPIC as a tick device
>    I-pipe: disable C1E power state in your BIOS
>    --------------------------------------------
>    Xenomai sends this message if C1E option is enabled in a BIOS. To fix
>    this issue please disable C1E support in the BIOS. In some Award BIOS
>    this option is located in the +Advanced BIOS Features->+ menu (+AMD
>    C1E Support+).
>    On some systems, above message may not appear in the system log.
>    IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
>    solve the problem.


Hi Mariusz,

thanks for the help text. Could you try the following patch 
to see if it restores the message?

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 7f07610..6cc9208 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -545,7 +545,8 @@ static void __cpuinit setup_APIC_timer(void)
 	memcpy(levt, &lapic_clockevent, sizeof(*levt));
 	levt->cpumask = cpumask_of(smp_processor_id());
 #ifdef CONFIG_IPIPE
-	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
+	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
+	    && !cpu_has_amd_erratum(amd_erratum_400))
 		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
 	else {
 	       printk(KERN_INFO


-- 
                                                                Gilles.


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

* Re: [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
@ 2012-12-29 18:06 Mariusz Janiak
  2012-12-29 18:21 ` Gilles Chanteperdrix
  0 siblings, 1 reply; 6+ messages in thread
From: Mariusz Janiak @ 2012-12-29 18:06 UTC (permalink / raw)
  To: Gilles Chanteperdrix; +Cc: Xenomai

Dnia Sobota, 29 Grudnia 2012 17:51 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> napisał(a) 
> On 12/28/2012 11:06 AM, Mariusz Janiak wrote:
> 
> >    If you find useful please add bellow text to the TROUBLESHOOTING.adoc
> >    file.
> > 
> >    On AMD x86_64
> >    ^^^^^^^^^^^^^
> >    You will most likely also see the following message:
> >    --------------------------------------------
> >    I-pipe: cannot use LAPIC as a tick device
> >    I-pipe: disable C1E power state in your BIOS
> >    --------------------------------------------
> >    Xenomai sends this message if C1E option is enabled in a BIOS. To fix
> >    this issue please disable C1E support in the BIOS. In some Award BIOS
> >    this option is located in the +Advanced BIOS Features->+ menu (+AMD
> >    C1E Support+).
> >    On some systems, above message may not appear in the system log.
> >    IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
> >    solve the problem.
> 
> 
> Hi Mariusz,
> 
> thanks for the help text. Could you try the following patch 
> to see if it restores the message?
> 
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index 7f07610..6cc9208 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -545,7 +545,8 @@ static void __cpuinit setup_APIC_timer(void)
>  	memcpy(levt, &lapic_clockevent, sizeof(*levt));
>  	levt->cpumask = cpumask_of(smp_processor_id());
>  #ifdef CONFIG_IPIPE
> -	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
> +	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
> +	    && !cpu_has_amd_erratum(amd_erratum_400))
>  		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
>  	else {
>  	       printk(KERN_INFO
> 
> 
> -- 
>                                                                 Gilles.

Hi Gilles,

I confirm, the patch solve problem with printing warning messages in a system log. Executing 'dmesg | grep -i i-pipe' give following results
 
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: could not find timer for cpu #1

Mariusz.





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

* Re: [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
  2012-12-29 18:06 Mariusz Janiak
@ 2012-12-29 18:21 ` Gilles Chanteperdrix
  0 siblings, 0 replies; 6+ messages in thread
From: Gilles Chanteperdrix @ 2012-12-29 18:21 UTC (permalink / raw)
  To: Mariusz Janiak; +Cc: Xenomai

On 12/29/2012 07:06 PM, Mariusz Janiak wrote:

> Dnia Sobota, 29 Grudnia 2012 17:51 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> napisał(a) 
>> On 12/28/2012 11:06 AM, Mariusz Janiak wrote:
>>
>>>    If you find useful please add bellow text to the TROUBLESHOOTING.adoc
>>>    file.
>>>
>>>    On AMD x86_64
>>>    ^^^^^^^^^^^^^
>>>    You will most likely also see the following message:
>>>    --------------------------------------------
>>>    I-pipe: cannot use LAPIC as a tick device
>>>    I-pipe: disable C1E power state in your BIOS
>>>    --------------------------------------------
>>>    Xenomai sends this message if C1E option is enabled in a BIOS. To fix
>>>    this issue please disable C1E support in the BIOS. In some Award BIOS
>>>    this option is located in the +Advanced BIOS Features->+ menu (+AMD
>>>    C1E Support+).
>>>    On some systems, above message may not appear in the system log.
>>>    IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
>>>    solve the problem.
>>
>>
>> Hi Mariusz,
>>
>> thanks for the help text. Could you try the following patch 
>> to see if it restores the message?
>>
>> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
>> index 7f07610..6cc9208 100644
>> --- a/arch/x86/kernel/apic/apic.c
>> +++ b/arch/x86/kernel/apic/apic.c
>> @@ -545,7 +545,8 @@ static void __cpuinit setup_APIC_timer(void)
>>  	memcpy(levt, &lapic_clockevent, sizeof(*levt));
>>  	levt->cpumask = cpumask_of(smp_processor_id());
>>  #ifdef CONFIG_IPIPE
>> -	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
>> +	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
>> +	    && !cpu_has_amd_erratum(amd_erratum_400))
>>  		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
>>  	else {
>>  	       printk(KERN_INFO
>>
>>
>> -- 
>>                                                                 Gilles.
> 
> Hi Gilles,
> 
> I confirm, the patch solve problem with printing warning messages in a system log. Executing 'dmesg | grep -i i-pipe' give following results
>  
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: cannot use LAPIC as a tick device
> I-pipe: disable C1E power state in your BIOS
> I-pipe: could not find timer for cpu #1


Not really nice, could you try this one:

diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 7f07610..91531bb 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -545,14 +545,18 @@ static void __cpuinit setup_APIC_timer(void)
 	memcpy(levt, &lapic_clockevent, sizeof(*levt));
 	levt->cpumask = cpumask_of(smp_processor_id());
 #ifdef CONFIG_IPIPE
-	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
+	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
+	    && !cpu_has_amd_erratum(amd_erratum_400))
 		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
 	else {
-	       printk(KERN_INFO
-		      "I-pipe: cannot use LAPIC as a tick device\n");
-	       if (cpu_has_amd_erratum(amd_erratum_400))
-		       printk(KERN_INFO
-			      "I-pipe: disable C1E power state in your BIOS\n");
+		static atomic_t printed = ATOMIC_INIT(-1);
+		printk(KERN_INFO
+		       "I-pipe: cannot use LAPIC on cpu #%d as a tick device\n",
+		       smp_processor_id());
+		if (cpu_has_amd_erratum(amd_erratum_400)
+		    && atomic_inc_and_test(&printed))
+			printk(KERN_INFO
+			       "I-pipe: disable C1E power state in your BIOS\n");
 	}
 #endif /* CONFIG_IPIPE */
 

-- 
                                                                Gilles.



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

* Re: [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
@ 2012-12-29 19:17 Mariusz Janiak
  0 siblings, 0 replies; 6+ messages in thread
From: Mariusz Janiak @ 2012-12-29 19:17 UTC (permalink / raw)
  To: Xenomai

Dnia Sobota, 29 Grudnia 2012 19:21 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> napisał(a) 
> On 12/29/2012 07:06 PM, Mariusz Janiak wrote:
> 
> > Dnia Sobota, 29 Grudnia 2012 17:51 Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> napisał(a) 
> >> On 12/28/2012 11:06 AM, Mariusz Janiak wrote:
> >>
> >>>    If you find useful please add bellow text to the TROUBLESHOOTING.adoc
> >>>    file.
> >>>
> >>>    On AMD x86_64
> >>>    ^^^^^^^^^^^^^
> >>>    You will most likely also see the following message:
> >>>    --------------------------------------------
> >>>    I-pipe: cannot use LAPIC as a tick device
> >>>    I-pipe: disable C1E power state in your BIOS
> >>>    --------------------------------------------
> >>>    Xenomai sends this message if C1E option is enabled in a BIOS. To fix
> >>>    this issue please disable C1E support in the BIOS. In some Award BIOS
> >>>    this option is located in the +Advanced BIOS Features->+ menu (+AMD
> >>>    C1E Support+).
> >>>    On some systems, above message may not appear in the system log.
> >>>    IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
> >>>    solve the problem.
> >>
> >>
> >> Hi Mariusz,
> >>
> >> thanks for the help text. Could you try the following patch 
> >> to see if it restores the message?
> >>
> >> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> >> index 7f07610..6cc9208 100644
> >> --- a/arch/x86/kernel/apic/apic.c
> >> +++ b/arch/x86/kernel/apic/apic.c
> >> @@ -545,7 +545,8 @@ static void __cpuinit setup_APIC_timer(void)
> >>  	memcpy(levt, &lapic_clockevent, sizeof(*levt));
> >>  	levt->cpumask = cpumask_of(smp_processor_id());
> >>  #ifdef CONFIG_IPIPE
> >> -	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
> >> +	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
> >> +	    && !cpu_has_amd_erratum(amd_erratum_400))
> >>  		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
> >>  	else {
> >>  	       printk(KERN_INFO
> >>
> >>
> >> -- 
> >>                                                                 Gilles.
> > 
> > Hi Gilles,
> > 
> > I confirm, the patch solve problem with printing warning messages in a system log. Executing 'dmesg | grep -i i-pipe' give following results
> >  
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: cannot use LAPIC as a tick device
> > I-pipe: disable C1E power state in your BIOS
> > I-pipe: could not find timer for cpu #1
> 
> 
> Not really nice, could you try this one:
> 
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index 7f07610..91531bb 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -545,14 +545,18 @@ static void __cpuinit setup_APIC_timer(void)
>  	memcpy(levt, &lapic_clockevent, sizeof(*levt));
>  	levt->cpumask = cpumask_of(smp_processor_id());
>  #ifdef CONFIG_IPIPE
> -	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY))
> +	if (!(lapic_clockevent.features & CLOCK_EVT_FEAT_DUMMY)
> +	    && !cpu_has_amd_erratum(amd_erratum_400))
>  		levt->ipipe_timer = &__get_cpu_var(lapic_itimer);
>  	else {
> -	       printk(KERN_INFO
> -		      "I-pipe: cannot use LAPIC as a tick device\n");
> -	       if (cpu_has_amd_erratum(amd_erratum_400))
> -		       printk(KERN_INFO
> -			      "I-pipe: disable C1E power state in your BIOS\n");
> +		static atomic_t printed = ATOMIC_INIT(-1);
> +		printk(KERN_INFO
> +		       "I-pipe: cannot use LAPIC on cpu #%d as a tick device\n",
> +		       smp_processor_id());
> +		if (cpu_has_amd_erratum(amd_erratum_400)
> +		    && atomic_inc_and_test(&printed))
> +			printk(KERN_INFO
> +			       "I-pipe: disable C1E power state in your BIOS\n");
>  	}
>  #endif /* CONFIG_IPIPE */
>  
> 
> -- 
>                                                                 Gilles.

Now is better, 'dmesg | grep -i i-pipe' give

I-pipe: cannot use LAPIC on cpu #0 as a tick device
I-pipe: disable C1E power state in your BIOS
I-pipe: cannot use LAPIC on cpu #1 as a tick device
I-pipe: cannot use LAPIC on cpu #2 as a tick device
I-pipe: cannot use LAPIC on cpu #3 as a tick device
I-pipe: cannot use LAPIC on cpu #4 as a tick device
I-pipe: cannot use LAPIC on cpu #5 as a tick device
I-pipe: could not find timer for cpu #1

Mariusz




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

* Re: [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055
  2012-12-28 10:06 Mariusz Janiak
  2012-12-29 16:51 ` Gilles Chanteperdrix
@ 2012-12-30 22:34 ` Gilles Chanteperdrix
  1 sibling, 0 replies; 6+ messages in thread
From: Gilles Chanteperdrix @ 2012-12-30 22:34 UTC (permalink / raw)
  To: Mariusz Janiak; +Cc: Xenomai

On 12/28/2012 11:06 AM, Mariusz Janiak wrote:

>    If you find useful please add bellow text to the TROUBLESHOOTING.adoc
>    file.
> 
>    On AMD x86_64
>    ^^^^^^^^^^^^^
>    You will most likely also see the following message:
>    --------------------------------------------
>    I-pipe: cannot use LAPIC as a tick device
>    I-pipe: disable C1E power state in your BIOS
>    --------------------------------------------
>    Xenomai sends this message if C1E option is enabled in a BIOS. To fix
>    this issue please disable C1E support in the BIOS. In some Award BIOS
>    this option is located in the +Advanced BIOS Features->+ menu (+AMD
>    C1E Support+).
>    On some systems, above message may not appear in the system log.
>    IMPORTANT: Disabling +AMD K8 Cool&Quiet+ option in a BIOS does not
>    solve the problem.


Merged, thanks.


-- 
                                                                Gilles.


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

end of thread, other threads:[~2012-12-30 22:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-29 19:17 [Xenomai] Odp: Re: Xenomai 2.6.2 + Kernel 3.5.3 + AMD Phenom II X6 1055 Mariusz Janiak
  -- strict thread matches above, loose matches on Subject: below --
2012-12-29 18:06 Mariusz Janiak
2012-12-29 18:21 ` Gilles Chanteperdrix
2012-12-28 10:06 Mariusz Janiak
2012-12-29 16:51 ` Gilles Chanteperdrix
2012-12-30 22:34 ` Gilles Chanteperdrix

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.