Messages in this thread | | | Subject | Re: [PATCH 1/7] Introduce the pagetable_operations and associated helper macros. | From | Adam Litke <> | Date | Wed, 21 Mar 2007 10:17:40 -0500 |
| |
On Wed, 2007-03-21 at 15:18 +1100, Nick Piggin wrote: > Adam Litke wrote: > > Signed-off-by: Adam Litke <agl@us.ibm.com> > > --- > > > > include/linux/mm.h | 25 +++++++++++++++++++++++++ > > 1 files changed, 25 insertions(+), 0 deletions(-) > > > > diff --git a/include/linux/mm.h b/include/linux/mm.h > > index 60e0e4a..7089323 100644 > > --- a/include/linux/mm.h > > +++ b/include/linux/mm.h > > @@ -98,6 +98,7 @@ struct vm_area_struct { > > > > /* Function pointers to deal with this struct. */ > > struct vm_operations_struct * vm_ops; > > + const struct pagetable_operations_struct * pagetable_ops; > > > > /* Information about our backing store: */ > > unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE > > Can you remind me why this isn't in vm_ops?
We didn't want to bloat the size of the vm_ops struct for all of its users.
> Also, it is going to be hugepage-only, isn't it? So should the naming be > changed to reflect that? And #ifdef it...
They are doing some interesting things on Cell that could take advantage of this.
> > @@ -218,6 +219,30 @@ struct vm_operations_struct { > > }; > > > > struct mmu_gather; > > + > > +struct pagetable_operations_struct { > > + int (*fault)(struct mm_struct *mm, > > + struct vm_area_struct *vma, > > + unsigned long address, int write_access); > > I got dibs on fault ;) > > My callback is a sanitised one that basically abstracts the details of the > virtual memory mapping away, so it is usable by drivers and filesystems. > > You actually want to bypass the normal fault handling because it doesn't > know how to deal with your virtual memory mapping. Hmm, the best suggestion > I can come up with is handle_mm_fault... unless you can think of a better > name for me to use.
How about I use handle_pte_fault?
-- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |