This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Review patches of user space kprobe


>>-----Original Message-----
>>From: systemtap-owner@sourceware.org [mailto:systemtap-owner@sourceware.org] On Behalf Of Prasanna S Panchamukhi
>>Sent: 2006年1月6日 17:12
>>To: Zhang, Yanmin
>>Cc: systemtap@sources.redhat.com; Keshavamurthy, Anil S; Mao, Bibo
>>Subject: Re: Review patches of user space kprobe
>>
>>> >>readpage() routine reads one page at a time. we map the page one time and walk the
>>> >>probes list for this inode, insert all the probes within this page and then unmap it.
>>> Yes, I did see codes inserting all the probes on the page, but below codes:
>>> +		if (kprobe_page_mapped) {
>>> +			unmap_uprobe_page(up);
>>> +			unlock_page(up->page);
>>> +		}
>>>
>>> are only executed after the loop of hlist_for_each_entry. Is it correct?
>>>
>>
>>that's correct. The page is mapped only once for the first match in the loop,
>>then all the probes are inserted into that page in the hlist_for_each loop and
>>then the page is unmapped only once after the end of the loop.
So call lock_page for many times, and call unlock_page for one time?



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]