Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Apr 2011 16:32:18 -0700
From:      "Kevin Oberman" <oberman@es.net>
To:        Bartosz Fabianowski <freebsd@chillt.de>
Cc:        freebsd-stable@freebsd.org, Ian Smith <smithi@nimnet.asn.au>, Jeremy Chadwick <freebsd@jdc.parodius.com>, John <john@theusgroup.com>
Subject:   Re: System extremely slow under light load 
Message-ID:  <20110425233218.60BA31CC2B@ptavv.es.net>
In-Reply-To: Your message of "Tue, 26 Apr 2011 01:19:03 %2B0200." <4DB60167.3090207@chillt.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Tue, 26 Apr 2011 01:19:03 +0200
> From: Bartosz Fabianowski <freebsd@chillt.de>
> 
> > As several have either discovered or pointed out, the dev.cpu.X.freq is
> > telling you what FreeBSD is requesting, not what the CPU is actually
> > doing. Particularly, if high temperatures cause TCC to kick in, this
> > will not show up.
> 
> Yes, this is what I thought as well.
> 
> > IF you really want to monitor CPU temperature on an Intel CPU, use the
> > coretemp kernel module. I use it on Intel systems that lack ACPI support
> > for temperature monitoring. It uses a junction on the die, so it will be
> > somewhat higher than the package temperature.
> 
> Yes, I am using that module and monitoring the dev.cpu.X.temperature 
> output. Technically, my system has support for ACPI monitoring but as I 
> mentioned in earlier messages, the DSDT provided by Dell is broken.
> 
> > I would assume that means that TCC should kick in at about 95 or 96C
> > which does not entirely explain what you are seeing. Unfortunately, your
> > system does not provide a value for _PSV, so I have no idea when it will
> > actually kick in, but it should be in the data sheet for the CPU.  If
> > ACPI does not hange it, it runs in a purely automated fashion with no
> > human intervention available.
> 
> I downloaded and read the specs. If I understand them correctly, the 
> maximal junction temperature for this CPU is 100°C. TCC should kick in 
> when any of the cores exceeds this value. It is unclear to me when 
> exactly TCC deactivates again but if the diagrams in the documentation 
> are drawn to scale, a pretty wide hysteresis is involved. So one 
> explanation for what I am seeing may be this: One of the cores, for a 
> split second, jumps over 100°C. TCC kicks in and does not turn off for a 
> long while. During that time, the system feels sluggish and slow.

The specified maximum CPU temperature is usually the same at the ACPI
_CRT, not _PSV. That is the temperature when an ACPI shutdown should be
triggered, but TCC should kick in at some point below this. It does have
significant hysteresis, but I'd need to look up the Intel documentation
of TCC (which I have read in the past but can't seem to find now) to see
just how it is governed.

> > Try running md5 or sha256 on a bunch of random (/dev/random) data.
> > Collect the time it takes to do a bunch of these and you will see it
> > increase by .125 every time throttling adds another step to the pause
> > time. It will be fairly dramatic and very close to steps of exactly .125
> > of the original time.
> 
> Thanks, I will be using that to try and determine whether it really is 
> TCC that makes my machine sluggish under load.

It works to tell you that TCC is doing the job, but does not explain in
any way why your CPU is so hot. I'll be very curious as to what you find
when running another OS. 
-- 
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman@es.net			Phone: +1 510 486-8634
Key fingerprint:059B 2DDF 031C 9BA3 14A4  EADA 927D EBB3 987B 3751



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