Re: [PATCH 1/5] lib: introduce call_once()

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrew Morton
Date: Tuesday, March 11, 2008 - 10:35 am

On Tue, 11 Mar 2008 21:27:30 +0900
"Akinobu Mita" <akinobu.mita@gmail.com> wrote:


Of course it can be used in those places.  Here's the idr.c conversion:

--- a/lib/idr.c~a
+++ a/lib/idr.c
@@ -585,14 +585,6 @@ static void idr_cache_ctor(struct kmem_c
 	memset(idr_layer, 0, sizeof(struct idr_layer));
 }
 
-static  int init_id_cache(void)
-{
-	if (!idr_layer_cache)
-		idr_layer_cache = kmem_cache_create("idr_layer_cache",
-			sizeof(struct idr_layer), 0, 0, idr_cache_ctor);
-	return 0;
-}
-
 /**
  * idr_init - initialize idr handle
  * @idp:	idr handle
@@ -602,7 +594,9 @@ static  int init_id_cache(void)
  */
 void idr_init(struct idr *idp)
 {
-	init_id_cache();
+	if (ONCE())
+		idr_layer_cache = kmem_cache_create("idr_layer_cache",
+			sizeof(struct idr_layer), 0, 0, idr_cache_ctor);
 	memset(idp, 0, sizeof(struct idr));
 	spin_lock_init(&idp->lock);
 }


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 1/5] lib: introduce call_once(), Akinobu Mita, (Mon Mar 10, 7:57 am)
[PATCH 2/5] idr: use call_once(), Akinobu Mita, (Mon Mar 10, 8:00 am)
[PATCH 3/5] hugetlbfs: use call_once(), Akinobu Mita, (Mon Mar 10, 8:01 am)
[PATCH 4/5] shmem: use call_once(), Akinobu Mita, (Mon Mar 10, 8:03 am)
[PATCH 5/5] tiny-shmem: use call_once(), Akinobu Mita, (Mon Mar 10, 8:05 am)
Re: [PATCH 1/5] lib: introduce call_once(), Joe Perches, (Mon Mar 10, 8:29 am)
Re: [PATCH 4/5] shmem: use call_once(), Hugh Dickins, (Mon Mar 10, 3:15 pm)
Re: [PATCH 1/5] lib: introduce call_once(), Andrew Morton, (Mon Mar 10, 8:48 pm)
Re: [PATCH 1/5] lib: introduce call_once(), Nick Piggin, (Mon Mar 10, 9:10 pm)
Re: [PATCH 1/5] lib: introduce call_once(), Andrew Morton, (Mon Mar 10, 9:21 pm)
Re: [PATCH 1/5] lib: introduce call_once(), Akinobu Mita, (Tue Mar 11, 5:17 am)
Re: [PATCH 1/5] lib: introduce call_once(), Akinobu Mita, (Tue Mar 11, 5:27 am)
Re: [PATCH 4/5] shmem: use call_once(), Akinobu Mita, (Tue Mar 11, 5:29 am)
Re: [PATCH 1/5] lib: introduce call_once(), Nick Piggin, (Tue Mar 11, 5:41 am)
Re: [PATCH 4/5] shmem: use call_once(), Hugh Dickins, (Tue Mar 11, 6:41 am)
Re: [PATCH 1/5] lib: introduce call_once(), Andrew Morton, (Tue Mar 11, 10:35 am)
Re: [PATCH 1/5] lib: introduce call_once(), Joe Perches, (Tue Mar 11, 11:56 am)
Re: [PATCH 1/5] lib: introduce call_once(), Andrew Morton, (Tue Mar 11, 12:11 pm)
Re: [PATCH 1/5] lib: introduce call_once(), Akinobu Mita, (Fri Mar 14, 9:01 pm)