amd64 segment cleanup: part 3

2010-10-31 Thread Philip Guenther
Okay, enough cleanup; time to simplify the TSS handling by moving from TSS-per-process to TSS-per-CPU. This eliminates the need to ever change GDT entries after startup and the associated ~4k process limit. Where do we place that TSS? Before, it was part of the PCB; here I've put the primary

Re: amd64 segment cleanup: part 3

2010-11-01 Thread Kenneth R Westerback
On Sun, Oct 31, 2010 at 05:10:46PM -0700, Philip Guenther wrote: > Okay, enough cleanup; time to simplify the TSS handling by moving from > TSS-per-process to TSS-per-CPU. This eliminates the need to ever change > GDT entries after startup and the associated ~4k process limit. > > Where do we p

Re: amd64 segment cleanup: part 3

2010-11-02 Thread Amit Kulkarni
Hi Philip, Tested very well in build kernel, build userland, build xenocara. No particular difference in time noted. userland about 70 min, xenocara about 60 min (59m57 real, 32m user, 33m system). also tested on another build of mine where i saw the compile drive all 4 CPU's to 100% with make -

Re: amd64 segment cleanup: part 3

2010-11-09 Thread Mike Belopuhov
On Sun, Oct 31, 2010 at 17:10 -0700, Philip Guenther wrote: > Okay, enough cleanup; time to simplify the TSS handling by moving from > TSS-per-process to TSS-per-CPU. This eliminates the need to ever change > GDT entries after startup and the associated ~4k process limit. > > Where do we place

Re: amd64 segment cleanup: part 3

2010-11-09 Thread Philip Guenther
On Tue, Nov 9, 2010 at 10:41 AM, Mike Belopuhov wrote: > On Sun, Oct 31, 2010 at 17:10 -0700, Philip Guenther wrote: ... >> The TSS also contains the pointer to the stack used for double faults. >> Previously, this was placed one page above each process's PCB. Rather >> than change that on each c

Re: amd64 segment cleanup: part 3

2010-11-10 Thread Mark Kettenis
> Date: Tue, 9 Nov 2010 18:19:08 -0800 > From: Philip Guenther > > >> /* exceptions */ > >> for (x = 0; x < 32; x++) { > >> ist = (x == 8) ? 1 : 0; > >> + // ist = (x == 8) ? 1 : (x == 2) ? 2 : 0; > > > > why do you need this comment? or is it a reminder to

Re: amd64 segment cleanup: part 3

2010-11-10 Thread Mike Belopuhov
On Tue, Nov 09, 2010 at 18:19 -0800, Philip Guenther wrote: > On Tue, Nov 9, 2010 at 10:41 AM, Mike Belopuhov wrote: > > On Sun, Oct 31, 2010 at 17:10 -0700, Philip Guenther wrote: > ... > >> The TSS also contains the pointer to the stack used for double faults. > >> Previously, this was placed on