Thus spake Matthew Dillon <[EMAIL PROTECTED]>:
> It's not possible to get a wholely accurate count no matter what
> you do. For example, to truely know whether a process is using
> a page you have to run through the process's page table (PMAP),
> access the vm_page, then locate where in the shadow chain the VM object
> the vm_page belongs to resides. But since hardware page tables are
> throw-away, the system could very well have thrown away whole page
> tables so this method is no more accurate then any other.
Thanks for the explanations! I still don't understand why this
doesn't work, assuming you don't care about nonresident pages:
for each process p in the set
for each map entry e in p->vmspace->vm_map
for each page m in e->object.vm_object->memq
if I haven't seen this m.phys_addr yet in the scan
resident_pages++
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message