* [PATCH] Make kmem_cache_destroy() return void
@ 2006-08-25 21:21 Alexey Dobriyan
2006-08-26 15:31 ` Benjamin LaHaise
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Dobriyan @ 2006-08-25 21:21 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-fsdevel
un-, de-, -free, -destroy, -exit, etc functions should in general
return void. Also,
There is very little, say, filesystem driver code can do upon failed
kmem_cache_destroy(). If it will be decided to BUG in this case, BUG
should be put in generic code, instead.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---
include/linux/slab.h | 4 ++--
mm/slab.c | 5 +----
mm/slob.c | 3 +--
3 files changed, 4 insertions(+), 8 deletions(-)
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -60,7 +60,7 @@ extern void __init kmem_cache_init(void)
extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long,
void (*)(void *, kmem_cache_t *, unsigned long),
void (*)(void *, kmem_cache_t *, unsigned long));
-extern int kmem_cache_destroy(kmem_cache_t *);
+extern void kmem_cache_destroy(kmem_cache_t *);
extern int kmem_cache_shrink(kmem_cache_t *);
extern void *kmem_cache_alloc(kmem_cache_t *, gfp_t);
extern void *kmem_cache_zalloc(struct kmem_cache *, gfp_t);
@@ -228,7 +228,7 @@ struct kmem_cache *kmem_cache_create(con
unsigned long,
void (*)(void *, struct kmem_cache *, unsigned long),
void (*)(void *, struct kmem_cache *, unsigned long));
-int kmem_cache_destroy(struct kmem_cache *c);
+void kmem_cache_destroy(struct kmem_cache *c);
void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags);
void *kmem_cache_zalloc(struct kmem_cache *, gfp_t);
void kmem_cache_free(struct kmem_cache *c, void *b);
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -2375,7 +2375,6 @@ EXPORT_SYMBOL(kmem_cache_shrink);
* @cachep: the cache to destroy
*
* Remove a struct kmem_cache object from the slab cache.
- * Returns 0 on success.
*
* It is expected this function will be called by a module when it is
* unloaded. This will remove the cache completely, and avoid a duplicate
@@ -2387,7 +2386,7 @@ EXPORT_SYMBOL(kmem_cache_shrink);
* The caller must guarantee that noone will allocate memory from the cache
* during the kmem_cache_destroy().
*/
-int kmem_cache_destroy(struct kmem_cache *cachep)
+void kmem_cache_destroy(struct kmem_cache *cachep)
{
int i;
struct kmem_list3 *l3;
@@ -2411,7 +2410,6 @@ int kmem_cache_destroy(struct kmem_cache
list_add(&cachep->next, &cache_chain);
mutex_unlock(&cache_chain_mutex);
unlock_cpu_hotplug();
- return 1;
}
if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))
@@ -2431,7 +2429,6 @@ int kmem_cache_destroy(struct kmem_cache
}
kmem_cache_free(&cache_cache, cachep);
unlock_cpu_hotplug();
- return 0;
}
EXPORT_SYMBOL(kmem_cache_destroy);
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -270,10 +270,9 @@ struct kmem_cache *kmem_cache_create(con
}
EXPORT_SYMBOL(kmem_cache_create);
-int kmem_cache_destroy(struct kmem_cache *c)
+void kmem_cache_destroy(struct kmem_cache *c)
{
slob_free(c, sizeof(struct kmem_cache));
- return 0;
}
EXPORT_SYMBOL(kmem_cache_destroy);
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] Make kmem_cache_destroy() return void 2006-08-25 21:21 [PATCH] Make kmem_cache_destroy() return void Alexey Dobriyan @ 2006-08-26 15:31 ` Benjamin LaHaise 2006-08-26 15:48 ` [PATCH 2/2] " Alexey Dobriyan 0 siblings, 1 reply; 3+ messages in thread From: Benjamin LaHaise @ 2006-08-26 15:31 UTC (permalink / raw) To: Alexey Dobriyan; +Cc: Andrew Morton, linux-kernel, linux-fsdevel On Sat, Aug 26, 2006 at 01:21:10AM +0400, Alexey Dobriyan wrote: > un-, de-, -free, -destroy, -exit, etc functions should in general > return void. Also, > @@ -2411,7 +2410,6 @@ int kmem_cache_destroy(struct kmem_cache > list_add(&cachep->next, &cache_chain); > mutex_unlock(&cache_chain_mutex); > unlock_cpu_hotplug(); > - return 1; > } > > if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) Shouldn't this return, as otherwise there is a significant change in the code path followed. -ben -- "Time is of no importance, Mr. President, only life is important." Don't Email: <dont@kvack.org>. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] Make kmem_cache_destroy() return void 2006-08-26 15:31 ` Benjamin LaHaise @ 2006-08-26 15:48 ` Alexey Dobriyan 0 siblings, 0 replies; 3+ messages in thread From: Alexey Dobriyan @ 2006-08-26 15:48 UTC (permalink / raw) To: Benjamin LaHaise; +Cc: Andrew Morton, linux-kernel, linux-fsdevel On Sat, Aug 26, 2006 at 11:31:47AM -0400, Benjamin LaHaise wrote: > On Sat, Aug 26, 2006 at 01:21:10AM +0400, Alexey Dobriyan wrote: > > un-, de-, -free, -destroy, -exit, etc functions should in general > > return void. Also, > > @@ -2411,7 +2410,6 @@ int kmem_cache_destroy(struct kmem_cache > > list_add(&cachep->next, &cache_chain); > > mutex_unlock(&cache_chain_mutex); > > unlock_cpu_hotplug(); > > - return 1; > > } > > > > if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) > > Shouldn't this return, as otherwise there is a significant change in the > code path followed. It should. :-\ ------------------------------------------------------ [PATCH 2/2] Make kmem_cache_destroy() return void un-, de-, -free, -destroy, -exit, etc functions should in general return void. Also, There is very little, say, filesystem driver code can do upon failed kmem_cache_destroy(). If it will be decided to BUG in this case, BUG should be put in generic code, instead. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> --- include/linux/slab.h | 4 ++-- mm/slab.c | 6 ++---- mm/slob.c | 3 +-- 3 files changed, 5 insertions(+), 8 deletions(-) --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -60,7 +60,7 @@ extern void __init kmem_cache_init(void) extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long, void (*)(void *, kmem_cache_t *, unsigned long), void (*)(void *, kmem_cache_t *, unsigned long)); -extern int kmem_cache_destroy(kmem_cache_t *); +extern void kmem_cache_destroy(kmem_cache_t *); extern int kmem_cache_shrink(kmem_cache_t *); extern void *kmem_cache_alloc(kmem_cache_t *, gfp_t); extern void *kmem_cache_zalloc(struct kmem_cache *, gfp_t); @@ -228,7 +228,7 @@ struct kmem_cache *kmem_cache_create(con unsigned long, void (*)(void *, struct kmem_cache *, unsigned long), void (*)(void *, struct kmem_cache *, unsigned long)); -int kmem_cache_destroy(struct kmem_cache *c); +void kmem_cache_destroy(struct kmem_cache *c); void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags); void *kmem_cache_zalloc(struct kmem_cache *, gfp_t); void kmem_cache_free(struct kmem_cache *c, void *b); --- a/mm/slab.c +++ b/mm/slab.c @@ -2375,7 +2375,6 @@ EXPORT_SYMBOL(kmem_cache_shrink); * @cachep: the cache to destroy * * Remove a struct kmem_cache object from the slab cache. - * Returns 0 on success. * * It is expected this function will be called by a module when it is * unloaded. This will remove the cache completely, and avoid a duplicate @@ -2387,7 +2386,7 @@ EXPORT_SYMBOL(kmem_cache_shrink); * The caller must guarantee that noone will allocate memory from the cache * during the kmem_cache_destroy(). */ -int kmem_cache_destroy(struct kmem_cache *cachep) +void kmem_cache_destroy(struct kmem_cache *cachep) { int i; struct kmem_list3 *l3; @@ -2411,7 +2410,7 @@ int kmem_cache_destroy(struct kmem_cache list_add(&cachep->next, &cache_chain); mutex_unlock(&cache_chain_mutex); unlock_cpu_hotplug(); - return 1; + return; } if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) @@ -2431,7 +2430,6 @@ int kmem_cache_destroy(struct kmem_cache } kmem_cache_free(&cache_cache, cachep); unlock_cpu_hotplug(); - return 0; } EXPORT_SYMBOL(kmem_cache_destroy); --- a/mm/slob.c +++ b/mm/slob.c @@ -270,10 +270,9 @@ struct kmem_cache *kmem_cache_create(con } EXPORT_SYMBOL(kmem_cache_create); -int kmem_cache_destroy(struct kmem_cache *c) +void kmem_cache_destroy(struct kmem_cache *c) { slob_free(c, sizeof(struct kmem_cache)); - return 0; } EXPORT_SYMBOL(kmem_cache_destroy); ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-08-26 15:49 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-08-25 21:21 [PATCH] Make kmem_cache_destroy() return void Alexey Dobriyan 2006-08-26 15:31 ` Benjamin LaHaise 2006-08-26 15:48 ` [PATCH 2/2] " Alexey Dobriyan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®