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/