Re: Q: Thread local storage, thread IDs

Brian Gerst (bgerst@quark.vpplus.com)
Tue, 27 Jul 1999 17:59:56 -0400


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.

--

Brian Gerst

- 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/