Hi,

I need some help with running a multithreaded program on red hat linux. I am
experimenting with paging behavior. I use a machine where swap space is large
compared to available memory. I run two threads, worker thread & prefetch
thread.
prefetch thread prefetches data in memory by accessing it which worker
thread will use later. Expected result is  prefetch thread should take
most of the page faults leaving worker thread time to do actual work.
So, paging time in prefetch thread and work time in worker thread should
overlap and total time taken should be less.
In a PThreads book I found out that when one thread is waiting on a page
fault, other thread continues to work.

When I run my program on a readhat linux machine, I dont get results as
expected, work thread seems to be stuck when prefetch thread is waiting on
a page fault. Is it because, when one thread waits on a page fault, page
table is locked for the other thread also. This is linux specific, as I
get expected results on solaris. 

Can anyone please provide some explanations.

Thanks
Neelam


____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1

Reply via email to