Re: Q: Thread local storage, thread IDs

Khimenko Victor (khim@sch57.msk.ru)
Wed, 28 Jul 1999 02:06:11 +0400 (MSD)


On Tue, 27 Jul 1999, Brian Gerst wrote:

> Khimenko Victor wrote:
> > Linux uses FLAT address space. And FLAT means exactly this: flat. No selectors.
> > In userspace that is. No way to create new selector and no need to change
> > [csdefg]s at all. You'll need really, really, REALLY strong argument to change
> > this. And even then such patch will be rejected :-)) No way, sorry. Linux 2.2
> > uses 1 selector per process (for TSS) and 2.3 does not use even one selector
> > per process and it's worth it.
>
> Not true. On the x86, you cannot disable segmentation. Flat address
> space simply means that all the segments have a base of 0 and limit of
> 4GB thereby negating the effects of segmentation. You can modify the
> LDT to create additional selectors with the modify_ldt syscall. Wine
> needs this to simulate the Windows address map mechanisms. You are
> thinking of the GDT which is per process (or per cpu in recent
> kernels). LDTs are always per process.

Oops. Yes, I forgot about Wine and modify_ldt crap :-(( So yes, you can do
such trick if portability is not an issue...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/