On 22 Mar 2006, at 11:21, Nick Piggin wrote: > Couple of issues with the current code though: > > firstly, the name. Okay, can you suggest a better one? That's the best I could come up with that wasn't long winded. :-) > secondly, I think you confuse our (confusing) terminology: the page > that holds pte_ts is not the pte_page, the pte_page is the page that > a pte points to What should we call it? Essentially we want to be able to get the physical address of a PTE in some cases, and passing struct page pointer seemed the best way to be able to derive that. I can rename it to something else vaguely plausible if the only problem is the semantic clash with Linux's idiomatic use of pte_page. > lastly, you don't allow any control over the type of pages that are > walked: this could well be unusably slow for some cases. At least > you should proably design the interface so we can iterate over > present, not present, all, etc so it becomes widely usable. Normally > I'd say to wait until users come up but in this case the function > isn't a speed demon anyway, and you also don't want to give people > any excuses not to use it. You mean iterate only over PTEs that are already present, or only those that were *not* previously present, or all (present and non-present)? Is that really useful? If so then yes, it's not hard to add. Thanks, Keir