On Thu, Jun 14, 2007 at 12:38:40PM -0700, [EMAIL PROTECTED] wrote:
> We use the macros PAGE_CACHE_SIZE PAGE_CACHE_SHIFT PAGE_CACHE_MASK
> and PAGE_CACHE_ALIGN in various places in the kernel. Many times
> common operations like calculating the offset or the index are coded
> using shifts and adds. This patch provides inline function to
> get the calculations accomplished in a consistent way.
> 
> All functions take an address_space pointer. The address space pointer
> will be used in the future to eventually support a variable size
> page cache. Information reachable via the mapping may then determine
> page size.
> 
> New function                  Related base page constant
> ---------------------------------------------------
> page_cache_shift(a)           PAGE_CACHE_SHIFT
> page_cache_size(a)            PAGE_CACHE_SIZE
> page_cache_mask(a)            PAGE_CACHE_MASK
> page_cache_index(a, pos)      Calculate page number from position
> page_cache_next(addr, pos)    Page number of next page
> page_cache_offset(a, pos)     Calculate offset into a page
> page_cache_pos(a, index, offset)
>                               Form position based on page number
>                               and an offset.
> 
> This provides a basis that would allow the conversion of all page cache
> handling in the kernel and ultimately allow the removal of the PAGE_CACHE_*
> constants.

We need access to PAGE_SIZE in vmlinux.lds.h.
What is your plan with that usage?

        Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to