Hi Jesse.
So I was right but for the wrong reason. I thought there was a risk that stuff
might get paged out. I had forgotten about demand paging in.
Would it be safe to move reservemem out of sbus_lock and call it once during
program initialisation? That would ensure that every page has been paged in.
Is there any way that pages would get actually paged during the execution of a
program running in the default Debian distribution (no swap configured)?
However it strikes me that every program that is running needs to have all its
pages loaded.
Scenario:
* process 1 call sbus_lock
* kernel switches to process 2
* process 2 needs to demand-page or do anything with sbus
Deadlock.
This can be handled in kernel code by disabling interrupts (critical sections),
but not in user processes.
Martin
--- In "jesseoff" <> wrote:
>
> It was incorrect -- thanks for the heads up. sbus.c has now been fixed on
> our FTP site. I also just added an extra check to only follow mappings in
> /proc/self/maps marked as readable. I ran across a system that mapped some
> section of a library into the address space of the process as non-readable--
> it shouldn't attempt to cause a page fault in that case.
>
> //Jesse Off
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|