Re: [PATCH 3/5] lib: lockless generic and arch independent page table (gpt) v2.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 13, 2014 at 03:50:02PM -0800, Linus Torvalds wrote:
> +/*
> + * The 'tree_level' data only describes one particular level
> + * of the tree. The upper levels are totally invisible to the
> + * user of the tree walker, since the tree walker will walk
> + * those using the tree definitions.
> + *
> + * NOTE! "struct tree_entry" is an opaque type, and is just a
> + * used as a pointer to the particular level. You can figure
> + * out which level you are at by looking at the "tree_level",
> + * but even better is to just use different "lookup()"
> + * functions for different levels, at which point the
> + * function is inherent to the level.

Please, don't.

We will end up with the same last-level centric code as we have now in mm
subsystem: all code only cares about pte. It makes implementing variable
page size support really hard and lead to copy-paste approach. And to
hugetlb parallel world...

It would be nice to have tree_level description generic enough to get rid
of pte_present()/pte_dirty()/pte_* and implement generic helpers instead.

Apart from variable page size problem, we could get one day support
different CPU page table format supported in runtime: PAE/non-PAE on
32-bit x86 or LPAE/non-LPAE on ARM in one binary kernel image.

The big topic is how to get it done without significant runtime cost :-/

-- 
 Kirill A. Shutemov

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]