[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] NPTL/TLS "emulation" idea



Hi,

Currently TLS wraparound segments are a problem in Xen,
since the kernel needs to be protected by keeping the
user space segments out of kernel space.

A few weeks ago Roland, Jakub and myself brainstormed
about this problem.  One of the things that came up is
that the positive (glibc private data) and -ve (TLS)
data are not generally used at the same time.

This lead to one of us (I don't remember whom, sorry)
came up with the idea of "flipping the segment around"
whenever a segment violation happens on a segment that
should have been 4GB in size, and the fault happens on
an address between 0 and TASK_SIZE.

Having glanced briefly at some documentation on how
the segments works, it looks like it should be possible
to convert the positive (clipped) segment into an
Expands-down segment, allowing TLS to work transparently
without needing to emulate any instructions.

Provided the segment doesn't need to be "flipped" too
often, this could provide for reasonably high performance
TLS functionality, without the potential problems that
instruction rewriting brings with it.

What do you think ?

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan



-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.