Messages in this thread | | | Date | Wed, 12 Nov 2008 14:11:32 -0600 (CST) | From | Christoph Lameter <> | Subject | Re: [PATCH] Allocate module.ref array dynamically |
| |
On Wed, 12 Nov 2008, Rusty Russell wrote:
> You've introduced a third set of per-cpu primitives, yet the second set still > has 0 users.
What second set?
> Your new basic interface is: > CPU_ALLOC/CPU_FREE/CPU_PTR/THIS_CPU/__THIS_CPU > > I don't think the CAPS adds anything. I'd like to see standard docbook > comments. It's not clear from your documentation whether this allocates for > all possible or only all online CPUs, and the difference between THIS_CPU and > __THIS_CPU is not immediately obvious.
The allocation is for all allocated percpu areas which is now per possible cpu. The difference between THIS_CPU and __THIS_CPU is the context check by smp_processor_id()
> How about re-using alloc_percpu/free_percpu/per_cpu_ptr APIs? Rename THIS_CPU > to __get_cpu_ptr and implement get_cpu_ptr and put_cpu_ptr wrappers (a-la > get_cpu_var).
The caps functions are macros not functions. Macros are capitalized. alloc_percpu must stay until the last remains have been evicted. And the API does work differently.
| |