Skip to contentSkip to conversation

serious performance regression due to NX patch

DISCUSSION Andi Kleen 3 participants 5 messages Jul 11, 2004 6 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

Andi Kleen

author
#4 lore raw

Review

Quoted 2 lines · Ingo Molnar
(quoted diff) +1 -0
 		}
+#ifdef __i386_

Won't do on x86-64.

-Andi

#5 lore raw
Quoted 3 lines · Andi Kleen
Quoted 1 line

+#ifdef __i386__

Won't do on x86-64.

well on x86-64 'non-executable' really means non-executable, and always did, right? (and this is completely separate from the issue of whether the process stack is executable or not. This is about x86 that didnt enforce the vma's protection bit.)

Ingo

author
#6 lore raw
Quoted 11 lines · Ingo Molnar
Quoted 3 lines · Andi Kleen
Quoted 1 line

+#ifdef __i386__

Won't do on x86-64.

well on x86-64 'non-executable' really means non-executable, and always did, right? (and this is completely separate from the issue of whether the process stack is executable or not. This is about x86 that didnt enforce the vma's protection bit.)

Not quite - there is 32bit emulation. And the 64bit version also doesn't do NX by default, but also relies on ELF header bits for this.

-Andi

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

author
#9 lore raw
Quoted 7 lines · Matthew Wilcox
Quoted 2 lines · Andrew Morton

Apropos of nothing much, CONFIG_X86 would be preferreed here, but x86_64 defines that too.

IMO, x86-64 should stop defining CONFIG_X86. It's far more common to say "X86 && !X86_64" than it is to say X86. How about defining CONFIG_X86_COMMON and migrating usage of X86 to X86_COMMON?

Definitely not in 2.6 because it has far too much potential to add subtle bugs, and that is not appropiate for a stable release. In 2.7 maybe.

Buy I would prefer to just add an truly i386 specific define like Andrew proposed.

-Andi

#10 lore raw
Quoted 10 lines · Andi Kleen
Quoted 7 lines · Matthew Wilcox
Quoted 2 lines · Andrew Morton

Apropos of nothing much, CONFIG_X86 would be preferreed here, but x86_64 defines that too.

IMO, x86-64 should stop defining CONFIG_X86. It's far more common to say "X86 && !X86_64" than it is to say X86. How about defining CONFIG_X86_COMMON and migrating usage of X86 to X86_COMMON?

Quoted 6 lines

Definitely not in 2.6 because it has far too much potential to add subtle bugs, and that is not appropiate for a stable release. In 2.7 maybe.

Buy I would prefer to just add an truly i386 specific define like Andrew proposed.

We already had an i386 specific define. You chose to hijack it.

Signature · 6 lines
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain