diff options
| author | Ingo Molnar <mingo@elte.hu> | 2002-09-26 22:43:29 -0700 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2002-09-26 22:43:29 -0700 |
| commit | 7c2149e943bf3fae3e6e14189463390ef4c5b7a1 (patch) | |
| tree | 96ce1fec80e6ac90e250c7e46fe2991c72ebf2a7 /include/linux/vcache.h | |
| parent | c2dd03a9e2d8bf508f6b3d9ee327c37a928b3351 (diff) | |
[PATCH] virtual => physical page mapping cache
Implement a "mapping change" notification for virtual lookup caches, and
make the futex code use that to keep the futex page pinning consistent
across copy-on-write events in the VM space.
Diffstat (limited to 'include/linux/vcache.h')
| -rw-r--r-- | include/linux/vcache.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/vcache.h b/include/linux/vcache.h new file mode 100644 index 000000000000..d5756643332c --- /dev/null +++ b/include/linux/vcache.h @@ -0,0 +1,26 @@ +/* + * virtual => physical mapping cache support. + */ +#ifndef _LINUX_VCACHE_H +#define _LINUX_VCACHE_H + +typedef struct vcache_s { + unsigned long address; + struct mm_struct *mm; + struct list_head hash_entry; + void (*callback)(struct vcache_s *data, struct page *new_page); +} vcache_t; + +extern spinlock_t vcache_lock; + +extern void __attach_vcache(vcache_t *vcache, + unsigned long address, + struct mm_struct *mm, + void (*callback)(struct vcache_s *data, struct page *new_page)); + +extern void detach_vcache(vcache_t *vcache); + +extern void invalidate_vcache(unsigned long address, struct mm_struct *mm, + struct page *new_page); + +#endif |
