Jeremy Fitzhardinge
464d1a78fb
[PATCH] i386: Convert i386 PDA code to use %fs
...
Convert the PDA code to use %fs rather than %gs as the segment for
per-processor data. This is because some processors show a small but
measurable performance gain for reloading a NULL segment selector (as %fs
generally is in user-space) versus a non-NULL one (as %gs generally is).
On modern processors the difference is very small, perhaps undetectable.
Some old AMD "K6 3D+" processors are noticably slower when %fs is used
rather than %gs; I have no idea why this might be, but I think they're
sufficiently rare that it doesn't matter much.
This patch also fixes the math emulator, which had not been adjusted to
match the changed struct pt_regs.
[frederik.deweerdt@gmail.com: fixit with gdb]
[mingo@elte.hu: Fix KVM too]
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Ian Campbell <Ian.Campbell@XenSource.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Zachary Amsden <zach@vmware.com>
Cc: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2007-02-13 13:26:20 +01:00
..
2006-01-06 08:33:37 -08:00
2006-12-07 02:14:07 +01:00
2007-02-02 21:14:29 -05:00
2005-09-05 00:06:10 -07:00
2005-06-23 09:45:09 -07:00
2006-11-28 20:12:59 +01:00
2006-10-28 11:30:52 -07:00
2006-10-05 15:10:12 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2007-02-02 21:14:31 -05:00
2005-09-05 00:06:11 -07:00
2006-10-04 03:38:54 -04:00
2006-12-07 02:14:08 +01:00
2006-12-07 02:14:08 +01:00
2006-04-01 22:50:03 -05:00
2006-10-05 15:10:12 +01:00
2007-02-11 10:51:32 -08:00
2005-09-07 16:57:21 -07:00
2007-02-11 10:51:32 -08:00
2007-01-05 23:55:23 -08:00
2006-12-08 08:28:39 -08:00
2006-12-07 02:14:08 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-12-13 09:27:08 -08:00
2006-12-02 21:23:19 -08:00
2006-12-07 02:14:10 +01:00
2006-12-07 02:14:11 +01:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:03 +01:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:07 +01:00
2006-12-07 02:14:08 +01:00
2006-12-01 14:52:01 -08:00
2005-09-10 10:06:34 -07:00
2006-12-07 08:39:41 -08:00
2006-04-26 12:56:16 +01:00
2006-03-25 09:10:55 -08:00
2006-09-26 10:52:41 +02:00
2006-12-22 08:55:49 -08:00
2006-01-18 19:20:31 -08:00
2007-02-13 13:26:20 +01:00
2005-07-26 14:35:42 -07:00
2005-04-16 15:20:36 -07:00
2005-09-07 16:57:38 -07:00
2007-01-26 13:50:58 -08:00
2006-10-05 15:10:12 +01:00
2006-10-04 03:38:54 -04:00
2006-12-07 08:39:21 -08:00
2006-12-07 02:14:10 +01:00
2006-04-26 12:56:16 +01:00
2006-04-26 12:56:16 +01:00
2006-10-05 15:10:12 +01:00
2006-10-08 12:24:02 -07:00
2006-10-04 07:55:29 -07:00
2006-12-07 02:14:01 +01:00
2005-06-30 08:45:10 -07:00
2005-04-16 15:20:36 -07:00
2006-12-08 08:29:03 -08:00
2006-09-26 10:52:27 +02:00
2006-11-01 09:11:00 -08:00
2007-02-09 09:14:07 -08:00
2006-01-10 08:01:34 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:03 +01:00
2006-12-07 02:14:10 +01:00
2006-12-07 02:14:08 +01:00
2005-04-16 15:20:36 -07:00
2006-06-26 10:48:15 -07:00
2006-12-07 08:39:46 -08:00
2006-06-26 09:58:22 -07:00
2006-09-26 10:52:38 +02:00
2006-04-26 12:56:16 +01:00
2006-07-31 13:28:38 -07:00
2005-04-16 15:20:36 -07:00
2005-05-26 16:16:16 -07:00
2006-07-08 15:24:18 -07:00
2006-12-07 02:14:03 +01:00
2005-04-16 15:20:36 -07:00
2006-10-03 08:03:41 -07:00
2005-04-16 15:20:36 -07:00
2006-06-23 07:42:56 -07:00
2006-02-15 15:32:22 -08:00
2007-02-13 13:26:20 +01:00
2006-06-27 17:32:38 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 08:39:23 -08:00
2006-12-07 02:14:12 +01:00
2006-12-07 02:14:19 +01:00
2006-04-11 06:18:34 -07:00
2005-04-16 15:20:36 -07:00
2006-10-04 07:55:28 -07:00
2006-12-12 17:41:41 -05:00
2006-06-23 07:42:56 -07:00
2006-09-26 10:52:31 +02:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:01 +01:00
2005-09-12 10:49:57 -07:00
2005-04-16 15:20:36 -07:00
2007-01-26 13:50:58 -08:00
2006-12-07 08:39:46 -08:00
2006-12-07 02:14:08 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2007-02-13 13:26:20 +01:00
2006-12-07 02:14:01 +01:00
2006-04-26 12:56:16 +01:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:09 +01:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:09 +01:00
2006-12-07 08:59:11 -08:00
2006-03-25 08:22:56 -08:00
2006-07-08 15:24:18 -07:00
2007-02-13 13:26:20 +01:00
2006-09-26 08:49:10 -07:00
2007-02-13 13:26:20 +01:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:32 +02:00
2006-12-07 08:39:36 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:07 +01:00
2006-09-27 14:39:51 -07:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2007-02-12 09:48:39 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-09-13 07:32:15 -07:00
2006-12-07 02:14:03 +01:00
2006-06-29 16:58:06 -07:00
2005-04-16 15:20:36 -07:00
2005-06-23 09:45:05 -07:00
2006-12-06 14:39:53 -08:00
2006-12-07 02:14:08 +01:00
2005-04-16 15:20:36 -07:00
2006-09-26 10:52:34 +02:00
2006-03-26 08:57:00 -08:00
2005-04-16 15:20:36 -07:00
2006-04-26 12:56:16 +01:00
2006-12-07 08:59:11 -08:00
2006-09-26 08:48:55 -07:00
2006-12-07 02:14:07 +01:00
2006-12-08 08:28:56 -08:00
2007-02-11 10:51:26 -08:00
2006-09-26 10:52:42 +02:00
2006-12-13 09:05:49 -08:00
2006-12-07 02:14:07 +01:00
2006-06-26 09:58:21 -07:00
2006-06-26 09:58:21 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 02:14:08 +01:00
2006-12-10 09:55:43 -08:00
2006-09-26 10:52:36 +02:00
2006-12-04 19:41:15 -08:00
2007-02-11 10:51:31 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2006-12-07 08:39:37 -08:00
2006-12-15 08:47:51 -08:00
2005-04-16 15:20:36 -07:00
2006-06-22 15:05:58 -07:00
2006-10-12 22:25:03 -05:00
2006-12-07 02:14:03 +01:00
2006-10-12 22:23:18 -05:00
2005-09-05 00:06:11 -07:00