Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Jul 1999 12:46:20 +1000
From:      Patryk Zadarnowski <patrykz@mycenae.ilion.eu.org>
To:        Julian Elischer <julian@whistle.com>
Cc:        Matthew Dillon <dillon@apollo.backplane.com>, Greg Lehey <grog@lemis.com>, Peter Jeremy <jeremyp@gsmx07.alcatel.com.au>, freebsd-current@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG
Subject:   Re: Bursting at the seams (was: Heh heh, humorous lockup) 
Message-ID:  <199907080246.MAA16744@mycenae.ilion.eu.org>
In-Reply-To: Your message of "Wed, 07 Jul 1999 19:04:26 MST." <Pine.BSF.3.95.990707190223.23943e-100000@current1.whistle.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> we already use the gs register for SMP now..
> what about the fs register?
> I vaguely remember that the different segments could be used to achieve
> this.... (%fs points to user space or something)

... as I've suggested a few days ago, and was told to shut up with a (rather
irrelevant) reference to SASOS's. It can be done, in fact, it's already been
done, with 50%+ performance improvement for tasks that rely heavily on IPC.
(think client/server; email me for references.) However, it would involve a
rather major redesign of the MMU and some redesign of the syscall stack.
Further, one ends up restricting the size of the address space, which is fine
until you start loading dynamic libraries. With something like libc, the
working set may be small if all you need is a few system call stubs, but you
end up with an extremely sparse address space which cannot be handled well
with segmentation.

Incidentally, you don't need to use FS to implement a tagged TLB using
Liedtke's small address spaces. All you need is to modify CS, DS and SS;
noone in the unix world relies on the values of ES and FS anyway; if they do,
a quick-and-easy segmentation fault will teach them a lesson preaty fast. ;)

patryk.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907080246.MAA16744>