Martin Peschke
7ff6f08295
[PATCH] CPU hotplug compatible alloc_percpu()
...
This patch splits alloc_percpu() up into two phases. Likewise for
free_percpu(). This allows clients to limit initial allocations to online
cpu's, and to populate or depopulate per-cpu data at run time as needed:
struct my_struct *obj;
/* initial allocation for online cpu's */
obj = percpu_alloc(sizeof(struct my_struct), GFP_KERNEL);
...
/* populate per-cpu data for cpu coming online */
ptr = percpu_populate(obj, sizeof(struct my_struct), GFP_KERNEL, cpu);
...
/* access per-cpu object */
ptr = percpu_ptr(obj, smp_processor_id());
...
/* depopulate per-cpu data for cpu going offline */
percpu_depopulate(obj, cpu);
...
/* final removal */
percpu_free(obj);
Signed-off-by: Martin Peschke <mp3@de.ibm.com >
Cc: Paul Jackson <pj@sgi.com >
Signed-off-by: Andrew Morton <akpm@osdl.org >
Signed-off-by: Linus Torvalds <torvalds@osdl.org >
2006-09-26 08:48:47 -07:00
..
2006-09-19 12:43:58 +01:00
2006-09-19 12:43:58 +01:00
2006-08-03 16:56:02 -04:00
2006-09-07 15:57:12 +01:00
2006-08-16 20:13:06 -05:00
2006-09-24 19:28:47 -07:00
2006-09-22 14:55:33 -07:00
2006-09-19 12:43:58 +01:00
2006-09-22 15:20:20 -07:00
2006-09-22 14:55:33 -07:00
2006-09-19 12:43:58 +01:00
2006-09-19 12:43:58 +01:00
2006-09-22 23:25:01 -04:00
2006-09-19 12:43:58 +01:00
2006-09-19 12:43:58 +01:00
2006-09-24 11:13:19 -04:00
2006-08-31 00:02:15 -04:00
2006-09-06 11:00:02 -07:00
2006-09-11 13:32:30 -04:00
2006-09-23 21:03:52 -05:00
2006-09-26 08:48:45 -07:00
2006-07-31 13:28:36 -07:00
2006-09-24 11:13:19 -04:00
2006-08-27 11:01:29 -07:00
2006-07-23 12:12:16 -07:00
2006-07-26 07:21:40 -07:00
2006-09-21 11:46:23 +10:00
2006-09-22 23:24:30 -04:00
2006-09-24 17:56:32 -03:00
2006-08-06 08:57:47 -07:00
2006-09-01 11:39:08 -07:00
2006-09-24 11:13:19 -04:00
2006-09-24 11:13:19 -04:00
2006-09-24 11:13:19 -04:00
2006-08-14 12:54:29 -07:00
2006-09-22 15:18:10 -07:00
2006-09-22 15:18:47 -07:00
2006-08-19 17:44:31 -04:00
2006-09-24 13:50:45 -07:00
2006-08-03 10:50:30 -04:00
2006-07-28 21:02:00 -07:00
2006-09-22 15:18:51 -07:00
2006-09-26 08:48:47 -07:00
2006-09-26 08:48:46 -07:00
2006-09-06 11:00:01 -07:00
2006-07-28 08:54:59 +02:00
2006-09-22 15:20:29 -07:00
2006-08-17 16:29:46 -07:00
2006-09-22 14:53:50 -07:00
2006-09-22 15:07:00 -07:00
2006-09-22 15:18:29 -07:00
2006-09-22 15:18:01 -07:00
2006-08-21 10:02:50 +02:00
2006-09-22 14:53:32 -07:00
2006-09-22 15:20:25 -07:00
2006-07-31 13:28:39 -07:00
2006-09-24 11:13:19 -04:00
2006-08-27 11:01:32 -07:00
2006-09-24 11:13:19 -04:00
2006-07-31 13:28:43 -07:00
2006-09-24 22:06:48 +01:00
2006-09-23 11:34:42 -07:00
2006-08-03 13:20:06 -07:00
2006-09-06 11:00:02 -07:00
2006-09-25 15:33:09 -04:00
2006-09-24 11:13:19 -04:00
2006-09-26 08:48:47 -07:00
2006-09-24 11:13:19 -04:00
2006-09-26 08:48:46 -07:00
2006-09-26 08:48:47 -07:00
2006-09-20 15:58:25 +02:00
2006-08-30 10:47:27 -04:00
2006-09-24 11:13:19 -04:00
2006-09-24 11:13:19 -04:00
2006-09-22 14:54:04 -07:00
2006-09-22 14:54:20 -07:00
2006-09-24 10:15:13 -07:00
2006-09-22 15:18:31 -07:00
2006-09-22 15:19:51 -07:00
2006-09-22 14:53:54 -07:00
2006-09-02 15:33:49 -05:00
2006-09-22 23:24:54 -04:00
2006-09-24 11:13:19 -04:00
2006-09-22 23:24:32 -04:00
2006-09-22 23:24:53 -04:00
2006-08-27 11:01:32 -07:00
2006-09-23 15:33:43 -05:00
2006-09-26 08:48:47 -07:00
2006-08-19 17:44:31 -04:00
2006-09-22 15:18:12 -07:00
2006-07-31 13:28:45 -07:00
2006-09-24 11:13:19 -04:00
2006-09-24 11:13:19 -04:00
2006-09-24 11:13:19 -04:00
2006-09-26 08:48:44 -07:00
2006-09-22 14:55:02 -07:00
2006-09-21 11:46:16 +10:00
2006-09-01 11:39:08 -07:00
2006-09-22 14:53:36 -07:00
2006-09-22 14:53:53 -07:00
2006-09-26 08:48:45 -07:00
2006-09-24 11:13:19 -04:00
2006-09-22 14:55:16 -07:00
2006-09-22 08:00:42 +01:00
2006-09-26 08:48:47 -07:00
2006-09-22 15:20:25 -07:00
2006-09-13 07:32:15 -07:00
2006-08-27 11:01:34 -07:00
2006-08-02 16:41:42 -07:00
2006-08-02 16:52:10 -07:00
2006-09-24 11:13:19 -04:00
2006-09-10 13:45:55 -03:00
2006-09-10 13:45:55 -03:00
2006-09-26 08:48:45 -07:00
2006-09-26 08:48:47 -07:00
2006-08-27 11:01:29 -07:00
2006-09-26 08:48:44 -07:00
2006-09-22 15:08:35 -07:00