Skip to contentSkip to conversation

Performance improvement with Akira Tsukamoto's Athlon copy_user patch

DISCUSSION Manfred Spraul 2 participants 2 messages Nov 19, 2002 – Nov 20, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 5 lines

I read the code of laze FPU state saving and confirmed that if the function does not generate exception than 'kernel_fpu_begin/end()' should assure fpu safe inside kernel.

However, it is not enough where exception could rise, as Takahashi mentioned.

I had prototyped an exception safe kfpu framework, but then I didn't have the time to submit/cleanup it.

http://www.colorfullife.com/~manfred/linux-2.5/sse/patch-kfpu

Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.

--
Manfred

#1 lore raw

Not deeply but I looked your exception safe kfpu.

'kernel_fpu_begin/end' was like delayed FPU sate switching, on the other hand, kfpu is more abstracted FPU semaphore which works per cpu.

I have not compiled it but it should work fine on 2.4, but have some questions using kfpu for 2.5.

1)Is 'per CPU' safe for 2.5?
I think the new O(1) scheduler has process migration between cpus and I am a bit afraid.
If not safe, any good idea for it?
May be per task could be safer even not optimal for smp?
2)Need to add preempt_disable/enable().
3)struct kfpuacquire {} kfpuacquire; is in the kfpu.h header,
might cause compile problem.

Quoted 1 line

Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.

No, my CPU don't run SSE......:)

By the way,
do you have separeted patch only for kfpu?

Thank you,

Akira Tsukamoto

On Tue, 19 Nov 2002 20:18:25 +0100
Manfred Spraul <[email protected]> mentioned:

Quoted 23 lines
Quoted 6 lines

I read the code of laze FPU state saving and confirmed that if the function does not generate exception than 'kernel_fpu_begin/end()' should assure fpu safe inside kernel.

However, it is not enough where exception could rise, as Takahashi mentioned.

I had prototyped an exception safe kfpu framework, but then I didn't have the time to submit/cleanup it.

http://www.colorfullife.com/~manfred/linux-2.5/sse/patch-kfpu

Have you tried SSE based copy_to_user? With SSE, you can just save the affected registers, without unexpected sideeffects.

--
Manfred

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Signature · 1 line
Akira Tsukamoto <[email protected], [email protected]>