Performance improvement with Akira Tsukamoto's Athlon copy_user patch
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
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]>