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
