<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/x86/include/asm/processor.h, branch linux-2.6.30.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.30.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-09-24T15:27:21Z</updated>
<entry>
<title>x86/i386: Make sure stack-protector segment base is cache aligned</title>
<updated>2009-09-24T15:27:21Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-09-03T19:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0863b5e00d32b9adaf93226c893918af297b74f3'/>
<id>urn:sha1:0863b5e00d32b9adaf93226c893918af297b74f3</id>
<content type='text'>
commit 1ea0d14e480c245683927eecc03a70faf06e80c8 upstream.

The Intel Optimization Reference Guide says:

	In Intel Atom microarchitecture, the address generation unit
	assumes that the segment base will be 0 by default. Non-zero
	segment base will cause load and store operations to experience
	a delay.
		- If the segment base isn't aligned to a cache line
		  boundary, the max throughput of memory operations is
		  reduced to one [e]very 9 cycles.
	[...]
	Assembly/Compiler Coding Rule 15. (H impact, ML generality)
	For Intel Atom processors, use segments with base set to 0
	whenever possible; avoid non-zero segment base address that is
	not aligned to cache line boundary at all cost.

We can't avoid having a non-zero base for the stack-protector
segment, but we can make it cache-aligned.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
LKML-Reference: &lt;4AA01893.6000507@goop.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>FRV: Fix the section attribute on UP DECLARE_PER_CPU()</title>
<updated>2009-04-22T02:39:59Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2009-04-21T22:00:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b8de7479d0dbab1ed98b5b015d44232c9d3d08e'/>
<id>urn:sha1:9b8de7479d0dbab1ed98b5b015d44232c9d3d08e</id>
<content type='text'>
In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
does not agree with that specified by DEFINE_PER_CPU().  This means that
architectures that have a small data section references relative to a base
register may throw up linkage errors due to too great a displacement between
where the base register points and the per-CPU variable.

On FRV, the .h declaration says that the variable is in the .sdata section, but
the .c definition says it's actually in the .data section.  The linker throws
up the following errors:

kernel/built-in.o: In function `release_task':
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o

To fix this, DECLARE_PER_CPU() should simply apply the same section attribute
as does DEFINE_PER_CPU().  However, this is made slightly more complex by
virtue of the fact that there are several variants on DEFINE, so these need to
be matched by variants on DECLARE.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>x86: add linux kernel support for YMM state</title>
<updated>2009-04-12T11:08:56Z</updated>
<author>
<name>Suresh Siddha</name>
</author>
<published>2009-04-10T22:21:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a30469e7921a6dd2067e9e836d7787cfa0105627'/>
<id>urn:sha1:a30469e7921a6dd2067e9e836d7787cfa0105627</id>
<content type='text'>
Impact: save/restore Intel-AVX state properly between tasks

Intel Advanced Vector Extensions (AVX) introduce 256-bit vector processing
capability. More about AVX at http://software.intel.com/sites/avx

Add OS support for YMM state management using xsave/xrstor infrastructure
to support AVX.

Signed-off-by: Suresh Siddha &lt;suresh.b.siddha@intel.com&gt;
LKML-Reference: &lt;1239402084.27006.8057.camel@localhost.localdomain&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into cpumask-for-linus</title>
<updated>2009-03-30T21:53:32Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-03-30T21:53:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65fb0d23fcddd8697c871047b700c78817bdaa43'/>
<id>urn:sha1:65fb0d23fcddd8697c871047b700c78817bdaa43</id>
<content type='text'>
Conflicts:
	arch/x86/kernel/cpu/common.c
</content>
</entry>
<entry>
<title>cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crash</title>
<updated>2009-03-18T08:40:35Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2009-03-17T04:20:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30e1e6d1af2b67558bccf322af2b3e0676b209ae'/>
<id>urn:sha1:30e1e6d1af2b67558bccf322af2b3e0676b209ae</id>
<content type='text'>
Impact: Fix cpu offline when CONFIG_MAXSMP=y

Changeset bc9b83dd1f66402b870301c3c7117b9c1484abb4 "cpumask: convert
c1e_mask in arch/x86/kernel/process.c to cpumask_var_t" contained a
bug: c1e_mask is manipulated even if C1E isn't detected (and hence
not allocated).

This is simply fixed by checking for NULL (which gcc optimizes out
anyway of CONFIG_CPUMASK_OFFSTACK=n, since it knows ce1_mask can never
be NULL).

In addition, fix a leak where select_idle_routine re-allocates
(and re-clears) c1e_mask on every cpu init.

Reported-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Mike Travis &lt;travis@sgi.com&gt;
LKML-Reference: &lt;200903171450.34549.rusty@rustcorp.com.au&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>Merge branches 'x86/apic', 'x86/asm', 'x86/cleanups', 'x86/debug', 'x86/kconfig', 'x86/mm', 'x86/ptrace', 'x86/setup' and 'x86/urgent'; commit 'v2.6.29-rc8' into x86/core</title>
<updated>2009-03-14T15:25:40Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2009-03-14T15:25:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ca0f16fd17c5d880dd0abbe03595b0c7c5b3c95'/>
<id>urn:sha1:0ca0f16fd17c5d880dd0abbe03595b0c7c5b3c95</id>
<content type='text'>
</content>
</entry>
<entry>
<title>x86: cpu/common.c cleanups</title>
<updated>2009-03-14T07:59:50Z</updated>
<author>
<name>Jaswinder Singh Rajput</name>
</author>
<published>2009-03-14T05:49:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9766cdbcb260389669e9679b2aa87c11832f479f'/>
<id>urn:sha1:9766cdbcb260389669e9679b2aa87c11832f479f</id>
<content type='text'>
- fix various style problems
 - declare varibles before they get used
 - introduced clear_all_debug_regs
 - fix header files issues

LKML-Reference: &lt;1237009789.4387.2.camel@localhost.localdomain&gt;
Signed-off-by: Jaswinder Singh Rajput &lt;jaswinder@kernel.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>cpumask: convert struct cpuinfo_x86's llc_shared_map to cpumask_var_t</title>
<updated>2009-03-13T04:19:53Z</updated>
<author>
<name>Rusty Russell</name>
</author>
<published>2009-03-13T04:19:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=155dd720d06a219ddf5a56b473cb3325441fc879'/>
<id>urn:sha1:155dd720d06a219ddf5a56b473cb3325441fc879</id>
<content type='text'>
Impact: reduce kernel memory usage when CONFIG_CPUMASK_OFFSTACK=y

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
<entry>
<title>x86, 32-bit: also use cpuinfo_x86's x86_{phys,virt}_bits members</title>
<updated>2009-03-13T01:37:17Z</updated>
<author>
<name>Jan Beulich</name>
</author>
<published>2009-03-12T12:37:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13c6c53282d99c82e79b02477efd2c1e30a991ef'/>
<id>urn:sha1:13c6c53282d99c82e79b02477efd2c1e30a991ef</id>
<content type='text'>
Impact: 32/64-bit consolidation

In a first step, this allows fixing phys_addr_valid() for PAE (which
until now reported all addresses to be valid). Subsequently, this will
also allow simplifying some MTRR handling code.

Signed-off-by: Jan Beulich &lt;jbeulich@novell.com&gt;
LKML-Reference: &lt;49B9101E.76E4.0078.0@novell.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>x86-32: use non-lazy io bitmap context switching</title>
<updated>2009-03-02T11:07:48Z</updated>
<author>
<name>Jeremy Fitzhardinge</name>
</author>
<published>2009-02-27T21:25:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=db949bba3c7cf2e664ac12e237c6d4c914f0c69d'/>
<id>urn:sha1:db949bba3c7cf2e664ac12e237c6d4c914f0c69d</id>
<content type='text'>
Impact: remove 32-bit optimization to prepare unification

x86-32 and -64 differ in the way they context-switch tasks
with io permission bitmaps.  x86-64 simply copies the next
tasks io bitmap into place (if any) on context switch.  x86-32
invalidates the bitmap on context switch, so that the next
IO instruction will fault; at that point it installs the
appropriate IO bitmap.

This makes context switching IO-bitmap-using tasks a bit more
less expensive, at the cost of making the next IO instruction
slower due to the extra fault.  This tradeoff only makes sense
if IO-bitmap-using processes are relatively common, but they
don't actually use IO instructions very often.

However, in a typical desktop system, the only process likely
to be using IO bitmaps is the X server, and nothing at all on
a server.  Therefore the lazy context switch doesn't really win
all that much, and its just a gratuitious difference from
64-bit code.

This patch removes the lazy context switch, with a view to
unifying this code in a later change.

Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
