John Doe wrote:
“Igor Kovalenko” <> Igor.Kovalenko@motorola.com> > wrote in message
news:> 39E7302B.A420A2F9@motorola.com> …
Note also, Windows Quake III requires your PC to have 64Mb of physical
RAM. When user has ‘realtime OS with great architecture’, 128Mb RAM with
80Mb free and it can’t play what should user say? I bet he might just
say ‘goodbye RTP’…
I certainly hope no one considering RtP as a real-time platform would base
their decision on the availability of a game. Certainly, if you were
developing a game console it might be an issue, but for just about anything
else it is nothing more than a “gee whiz”.
Get serious Rennie. I’m not talking about availability. It is
available, but requires ridiculously more RAM to run, which inevitably
leaves bad impression about underlying technology. You can theoretize as
much as you want about how people judge realtime systems, but a lot of
them will judge it by how much resources it takes to run a well known
application and how well does it run (frame rate and such).
Don’t forget also that RTP now targets to be development system for
itself. I had an interesting observation couple of days ago trying to
use it in that fashion. During a debug session the evil DDD decided to
allocate 180Mb of RAM for whatever reasons. It succeeded since I have
256Mb of RAM but there was 0 left afterwards, so shell could not fork
new processes. I freed some space by exiting another app and looked at
swap stats. That was first time I saw RTP indeed swapping - there was
about 7Mb of swap space used (out of 128Mb). It managed to hold in that
state for few minutes, but then it became progressively worse. Clicking
in any window made that application freeze right away and soon there
came hard lockup. Could not even move mouse pointer and
Ctrl-Alt-Shift-Bsp did not work either. Had to hit RESET button.
Now what if I had unsaved files at that moment? What kind of development
system is that? This is due to the fact that by default all applications
are loaded with all pages locked and they have to be unlocked explicitly
to be swappable. Good for a realtime environment perhaps, but for
development system?
If OS in development configuration has to page out something in order
to maintain integrity it should damn well do so. The policy of locking
pages must be configurable. In simplest case, if I have enabled swapping
(and it has to be enabled even now with swapctl) that probably means I
do want swapping to take place when necessary. It could also be more
intelligent - i.e., there could be some classification of applications
(swappable/non-swappable, realtime/non-realtime) which would allow OS to
decide what it can swap out and what not. Using sticky bit on
executables in its original sense would not be a bad idea I guess. What
do you think Sebastien?