Rev 5270 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5270 | Rev 6082 | ||
---|---|---|---|
Line 133... | Line 133... | ||
133 | typedef unsigned long sector_t; |
133 | typedef unsigned long sector_t; |
134 | typedef unsigned long blkcnt_t; |
134 | typedef unsigned long blkcnt_t; |
135 | #endif |
135 | #endif |
Line 136... | Line 136... | ||
136 | 136 | ||
137 | /* |
137 | /* |
138 | * The type of an index into the pagecache. Use a #define so asm/types.h |
- | |
139 | * can override it. |
138 | * The type of an index into the pagecache. |
140 | */ |
- | |
141 | #ifndef pgoff_t |
139 | */ |
142 | #define pgoff_t unsigned long |
- | |
Line -... | Line 140... | ||
- | 140 | #define pgoff_t unsigned long |
|
143 | #endif |
141 | |
- | 142 | /* |
|
- | 143 | * A dma_addr_t can hold any valid DMA address, i.e., any address returned |
|
- | 144 | * by the DMA API. |
|
- | 145 | * |
|
- | 146 | * If the DMA API only uses 32-bit addresses, dma_addr_t need only be 32 |
|
- | 147 | * bits wide. Bus addresses, e.g., PCI BARs, may be wider than 32 bits, |
|
- | 148 | * but drivers do memory-mapped I/O to ioremapped kernel virtual addresses, |
|
144 | 149 | * so they don't care about the size of the actual bus addresses. |
|
145 | /* A dma_addr_t can hold any valid DMA or bus address for the platform */ |
150 | */ |
146 | #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT |
151 | #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT |
147 | typedef u64 dma_addr_t; |
152 | typedef u64 dma_addr_t; |
148 | #else |
- | |
149 | typedef u32 dma_addr_t; |
- | |
150 | #endif /* dma_addr_t */ |
- | |
151 | - | ||
152 | #ifdef __CHECKER__ |
- | |
153 | #else |
- | |
154 | #endif |
- | |
155 | #ifdef __CHECK_ENDIAN__ |
153 | #else |
- | 154 | typedef u32 dma_addr_t; |
|
156 | #else |
155 | #endif |
157 | #endif |
156 | |
158 | typedef unsigned __bitwise__ gfp_t; |
157 | typedef unsigned __bitwise__ gfp_t; |
Line 159... | Line 158... | ||
159 | typedef unsigned __bitwise__ fmode_t; |
158 | typedef unsigned __bitwise__ fmode_t; |
Line 204... | Line 203... | ||
204 | 203 | ||
205 | /** |
204 | /** |
206 | * struct callback_head - callback structure for use with RCU and task_work |
205 | * struct callback_head - callback structure for use with RCU and task_work |
207 | * @next: next update requests in a list |
206 | * @next: next update requests in a list |
- | 207 | * @func: actual update function to call after the grace period. |
|
- | 208 | * |
|
- | 209 | * The struct is aligned to size of pointer. On most architectures it happens |
|
- | 210 | * naturally due ABI requirements, but some architectures (like CRIS) have |
|
- | 211 | * weird ABI and we need to ask it explicitly. |
|
- | 212 | * |
|
- | 213 | * The alignment is required to guarantee that bits 0 and 1 of @next will be |
|
- | 214 | * clear under normal conditions -- as long as we use call_rcu(), |
|
- | 215 | * call_rcu_bh(), call_rcu_sched(), or call_srcu() to queue callback. |
|
- | 216 | * |
|
- | 217 | * This guarantee is important for few reasons: |
|
- | 218 | * - future call_rcu_lazy() will make use of lower bits in the pointer; |
|
- | 219 | * - the structure shares storage spacer in struct page with @compound_head, |
|
- | 220 | * which encode PageTail() in bit 0. The guarantee is needed to avoid |
|
208 | * @func: actual update function to call after the grace period. |
221 | * false-positive PageTail(). |
209 | */ |
222 | */ |
210 | struct callback_head { |
223 | struct callback_head { |
211 | struct callback_head *next; |
224 | struct callback_head *next; |
212 | void (*func)(struct callback_head *head); |
- | |
- | 225 | void (*func)(struct callback_head *head); |
|
213 | }; |
226 | } __attribute__((aligned(sizeof(void *)))); |
Line -... | Line 227... | ||
- | 227 | #define rcu_head callback_head |
|
- | 228 | ||
- | 229 | typedef void (*rcu_callback_t)(struct rcu_head *head); |
|
- | 230 | typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func); |
|
- | 231 | ||
- | 232 | /* clocksource cycle base type */ |
|
214 | #define rcu_head callback_head |
233 | typedef u64 cycle_t; |
215 | 234 |