]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/linux/percpu.h
percpu, module: implement reserved allocation and use it for module percpu variables
[net-next-2.6.git] / include / linux / percpu.h
index a96fc53bbd6260a8dfe607545803575a2a73275c..8ff15153ae20cd05bbf280a3f5c0b785243cfc40 100644 (file)
@@ -117,10 +117,10 @@ typedef struct page * (*pcpu_get_page_fn_t)(unsigned int cpu, int pageno);
 typedef void (*pcpu_populate_pte_fn_t)(unsigned long addr);
 
 extern size_t __init pcpu_setup_first_chunk(pcpu_get_page_fn_t get_page_fn,
-                                       size_t static_size,
-                                       ssize_t unit_size, ssize_t dyn_size,
-                                       void *base_addr,
-                                       pcpu_populate_pte_fn_t populate_pte_fn);
+                               size_t static_size, size_t reserved_size,
+                               ssize_t unit_size, ssize_t dyn_size,
+                               void *base_addr,
+                               pcpu_populate_pte_fn_t populate_pte_fn);
 
 /*
  * Use this to get to a cpu's version of the per-cpu object
@@ -129,6 +129,8 @@ extern size_t __init pcpu_setup_first_chunk(pcpu_get_page_fn_t get_page_fn,
  */
 #define per_cpu_ptr(ptr, cpu)  SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)))
 
+extern void *__alloc_reserved_percpu(size_t size, size_t align);
+
 #else /* CONFIG_HAVE_DYNAMIC_PER_CPU_AREA */
 
 struct percpu_data {