v7 shared text bug & fix.
Dave Buxbaum
bux at dual.UUCP
Sat Dec 8 11:54:47 AEST 1984
In reply to Joe Gurthridge's misunderstanding of the bug:
>> I cannot find a problem. The flaws in the agrument seem to me to be:
>> Fisrt,when you are busy writing out a shared text segment you are considered
>> to have I/O in progress ........ you cannot be swapped out.
This is not the case. It is quite possible to be swapped out in this instance.
My first article followed the thread rather closely but I will summarize here
for Joe's benefit.
>From xccdec(), a call to swap() is made to write out the text segment. If
no swap buffers are availible, the process is put to sleep. There is nothing
preventing the process at this point from being swapped out.
>> Second, the above code prevents other processes from being scheduled,
>> because their proc table entries still have a valid text pointer.
Well this is indeed true. However, the case of interest is when one or more
of these processes are already on the swapdev and then try to get back in.
Again, this was explained in detail in my first article.
I am not surprized that many machines may not experience the problem since
it depends on some rather unlikely timing/loading.
Several other fixes have been proposed and I have been made aware of the
fact that this bug was posted to the net about 1 year ago(before my time!)
David Buxbaum
dual!bux at BERKELEY.ARPA
{ihnp4,ucbvax,hplabs,decwrl,cbosgd,sun,nsc,apple,pyramid}!dual!bux
Dual Systems Corporation, Berkeley, California
More information about the Comp.unix.wizards
mailing list