Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Sep 2005 11:49:10 +0200
From:      Bruno Ducrot <ducrot@poupinou.org>
To:        Nate Lawson <nate@root.org>
Cc:        acpi@freebsd.org
Subject:   Re: Hard hang with powerd
Message-ID:  <20050923094910.GC21906@poupinou.org>
In-Reply-To: <4332D9E5.1020607@root.org>
References:  <4330020C.5030302@mcsi.pp.ru> <20050920135958.GA1616@poupinou.org> <433016F8.903@mcsi.pp.ru> <20050920145932.GB1616@poupinou.org> <4332505A.5050201@mcsi.pp.ru> <4332D9E5.1020607@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 22, 2005 at 09:20:53AM -0700, Nate Lawson wrote:
> Maxim Maximov wrote:
> >Bruno Ducrot wrote:
> >
> >>On Tue, Sep 20, 2005 at 06:04:40PM +0400, Maxim Maximov wrote:
> >>
> >>>Bruno Ducrot wrote:
> >>>
> >>>>On Tue, Sep 20, 2005 at 04:35:24PM +0400, Maxim Maximov wrote:
> >>>>
> >>>>
> >>>>>Hi, all.
> >>>>>
> >>>>>    I've got hard hangs with latest CURRENT in a few seconds after 
> >>>>>    enabling powerd. Here's loader.conf:
> >>>>>
> >>>>># cat /boot/loader.conf
> >>>>>hw.psm.synaptics_support=1
> >>>>>debug.mpsafevfs=1
> >>>>>acpi_perf_load="YES"
> >>>>>cpufreq_load="YES"
> >>>>>debug.acpi.disabled="sysres"
> >>>>>bcmwl5_sys_load="YES"
> >>>>>
> >>>>>    What else can I do to help debug it?
> >>>>>
> >>>>
> >>>>
> >>>>The 2 logical CPUs need to set the same MSRs at the same time,
> >>>>but if the second one is forced to be idle, I'm not sure if p4tcc will
> >>>>work fine.
> >>>>
> >>>>Therefore, I'm wondering if this hard hang happens with a SMP kernel
> >>>>and hyperthreading is enabled, or if this happens with a UP kernel.
> >>>>
> >>>
> >>>Yes, kernel is SMP one.
> >>>
> >>># sysctl machdep.hyperthreading_allowed
> >>>machdep.hyperthreading_allowed: 1
> >>>
> >>
> >>It's weird.  Could you please try with a kernel without SMP for
> >>testing purpose?
> >>
> >
> >It's fine. Now I'm running UP kernel with 'powerd -v'
> 
> Bruno, can you expand more on what you think the problem is?  The p4tcc 
> driver writes to the MSR on all CPUs, including logical ones.  We switch 
> cpus using sched_bind().  So the thread will run on the first CPU, write 
> to the MSR, then switch to the second CPU and write to the MSR.  I 
> thought this is how the datasheet says the thermal MSR must be used on 
> SMP.  It's also what Linux does I believe.
> 

I know that already.  The problem is I don't know why this failed.

-- 
Bruno Ducrot

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050923094910.GC21906>