<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/amd64/isa/clock.c, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2010-02-25T14:13:39Z</updated>
<entry>
<title>Introduce the new kernel sub-tree x86 which should contain all the code</title>
<updated>2010-02-25T14:13:39Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2010-02-25T14:13:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=32580301441a6c4f89a20c20f53e45e5557a8b64'/>
<id>urn:sha1:32580301441a6c4f89a20c20f53e45e5557a8b64</id>
<content type='text'>
shared and generalized between our current amd64, i386 and pc98.

This is just an initial step that should lead to a more complete effort.
For the moment, a very simple porting of cpufreq modules, BIOS calls and
the whole MD specific ISA bus part is added to the sub-tree but ideally
a lot of code might be added and more shared support should grow.

Sponsored by:	Sandvine Incorporated
Reviewed by:	emaste, kib, jhb, imp
Discussed on:	arch
MFC:		3 weeks
</content>
</entry>
<entry>
<title>Handling all the three clocks (hardclock, softclock, profclock) with the</title>
<updated>2010-01-15T16:04:30Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2010-01-15T16:04:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a26cb6d54748fc3366394ddfe3805bb96440a498'/>
<id>urn:sha1:a26cb6d54748fc3366394ddfe3805bb96440a498</id>
<content type='text'>
LAPIC may lead to aliasing for softclock and profclock because frequencies
are sized in order to fit mainly hardclock.
atrtc used to take care of the softclock and profclock and it does still
do, if the LAPIC can't handle the clocks properly.

Revert the change when the LAPIC started taking charge of all three of
them and let atrtc handle softclock and profclock if not explicitly
requested. Such request can be made setting != 0 the new tunable
machdep.lapic_allclocks or if the new device ATPIC is not present
within the i386 kernel config (atrtc is linked to atpic presence).

Diagnosed by:	Sandvine Incorporated
Reviewed by:	jhb, emaste
Sponsored by:	Sandvine Incorporated
MFC:		3 weeks
</content>
</entry>
<entry>
<title>Make algorithm a bit more bulletproof.</title>
<updated>2009-06-23T23:16:37Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-06-23T23:16:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9f23a6caa4f90ac3347968748f071a47b2e6820d'/>
<id>urn:sha1:9f23a6caa4f90ac3347968748f071a47b2e6820d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix variable name.</title>
<updated>2009-06-23T22:08:25Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-06-23T22:08:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9e9be269064ed95f90402eaa7c4e93a0d4225197'/>
<id>urn:sha1:9e9be269064ed95f90402eaa7c4e93a0d4225197</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework r193814:</title>
<updated>2009-06-23T21:45:33Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-06-23T21:45:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=96c5d068d8e78a4ab287f773cb3f9b61f0815851'/>
<id>urn:sha1:96c5d068d8e78a4ab287f773cb3f9b61f0815851</id>
<content type='text'>
While general idea of patch was good, it was not working properly due the way
it was implemented. When we are using same timer interrupt for several of
hard/prof/stat purposes we should not send several IPIs same time to other
CPUs. Sending several IPIs same time leads to terrible accounting/profiling
results due to strong synchronization effect, when the second interrupt
handler accounts processing of the first one.
Interlink timer events in a such way, that no more then one IPI is sent for
any original timer interrupt.
</content>
</entry>
<entry>
<title>Unbreak the build for amd64 after r193814 using correct variable names.</title>
<updated>2009-06-09T09:47:02Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2009-06-09T09:47:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=78c7c6adbc03e8b6d2998ea699ff9c1940407399'/>
<id>urn:sha1:78c7c6adbc03e8b6d2998ea699ff9c1940407399</id>
<content type='text'>
</content>
</entry>
<entry>
<title>When using i8254 as the only kernel timer source:</title>
<updated>2009-06-09T07:26:52Z</updated>
<author>
<name>Ariff Abdullah</name>
<email>ariff@FreeBSD.org</email>
</author>
<published>2009-06-09T07:26:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b65cb1db3c90960f2509826c5b1a4a14c7f13090'/>
<id>urn:sha1:b65cb1db3c90960f2509826c5b1a4a14c7f13090</id>
<content type='text'>
- Interpolate stat/prof clock using clkintr() in a similar fashion to
  local APIC timer, since statclock usually run slower.

- Liberate hardclockintr() from taking the burden of handling both stat
  and prof clock interrupt. Instead, send IPIs within clkintr() to handle
  those.
</content>
</entry>
<entry>
<title>Rename statclock_disable variable to atrtcclock_disable that it actually is,</title>
<updated>2009-05-03T17:47:21Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-05-03T17:47:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1703f2b4249486c90020bba27d17fb815a2640fc'/>
<id>urn:sha1:1703f2b4249486c90020bba27d17fb815a2640fc</id>
<content type='text'>
and hide it inside of atrtc driver. Add new tunable hint.atrtc.0.clock
controlling it. Setting it to 0 disables using RTC clock as stat-/
profclock sources.

Teach i386 and amd64 SMP platforms to emulate stat-/profclocks using i8254
hardclock, when LAPIC and RTC clocks are disabled.

This allows to reduce global interrupt rate of idle system down to about
100 interrupts per core, permitting C3 and deeper C-states provide maximum
CPU power efficiency.
</content>
</entry>
<entry>
<title>Add support for using i8254 and rtc timers as event sources for amd64 SMP</title>
<updated>2009-05-02T12:20:43Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-05-02T12:20:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6a3a164d6e1a5b3c59daefd59ac885cd467c3caf'/>
<id>urn:sha1:6a3a164d6e1a5b3c59daefd59ac885cd467c3caf</id>
<content type='text'>
system. Redistribute hard-/stat-/profclock events to other CPUs using IPIs.
</content>
</entry>
<entry>
<title>Add resume methods to i8254 and atrtc devices.</title>
<updated>2009-05-01T21:43:04Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-05-01T21:43:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=58a2bb4996aec6aed823b4a710ab56e6a5f830f4'/>
<id>urn:sha1:58a2bb4996aec6aed823b4a710ab56e6a5f830f4</id>
<content type='text'>
</content>
</entry>
</feed>
