diff options
author | Roland McGrath <roland@gnu.org> | 2000-02-05 12:21:17 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2000-02-05 12:21:17 +0000 |
commit | e5f75e8ece5d1a8d3c17bd0156082caf153d3779 (patch) | |
tree | 316ee48be396f95770ccd5511ea442b83cadca51 /pfinet/linux-src/include/linux/pagemap.h | |
parent | b39cd08347c72483a4521a55301a0fa147a2a2b1 (diff) | |
download | hurd-e5f75e8ece5d1a8d3c17bd0156082caf153d3779.tar.gz hurd-e5f75e8ece5d1a8d3c17bd0156082caf153d3779.tar.bz2 hurd-e5f75e8ece5d1a8d3c17bd0156082caf153d3779.zip |
Import of Linux 2.2.14 subset (ipv4 stack and related)
Diffstat (limited to 'pfinet/linux-src/include/linux/pagemap.h')
-rw-r--r-- | pfinet/linux-src/include/linux/pagemap.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/pfinet/linux-src/include/linux/pagemap.h b/pfinet/linux-src/include/linux/pagemap.h index 1f5a62dd..9bf5efd8 100644 --- a/pfinet/linux-src/include/linux/pagemap.h +++ b/pfinet/linux-src/include/linux/pagemap.h @@ -38,11 +38,15 @@ static inline unsigned long page_address(struct page * page) */ #define page_cache_entry(x) (mem_map + MAP_NR(x)) -#define PAGE_HASH_BITS 12 -#define PAGE_HASH_SIZE (1 << PAGE_HASH_BITS) +#define PAGE_HASH_BITS page_hash_bits +#define PAGE_HASH_MASK page_hash_mask extern unsigned long page_cache_size; /* # of pages currently in the hash table */ -extern struct page * page_hash_table[PAGE_HASH_SIZE]; +extern unsigned int page_hash_bits; +extern unsigned int page_hash_mask; +extern struct page **page_hash_table; + +extern void page_cache_init(unsigned long); /* * We use a power-of-two hash table to avoid a modulus, @@ -53,12 +57,10 @@ extern struct page * page_hash_table[PAGE_HASH_SIZE]; static inline unsigned long _page_hashfn(struct inode * inode, unsigned long offset) { #define i (((unsigned long) inode)/(sizeof(struct inode) & ~ (sizeof(struct inode) - 1))) -#define o (offset >> PAGE_SHIFT) -#define s(x) ((x)+((x)>>PAGE_HASH_BITS)) - return s(i+o) & (PAGE_HASH_SIZE-1); +#define o ((offset >> PAGE_SHIFT) + (offset & ~PAGE_MASK)) + return ((i+o) & PAGE_HASH_MASK); #undef i #undef o -#undef s } #define page_hash(inode,offset) (page_hash_table+_page_hashfn(inode,offset)) |