CRIS: Add configuration possibility for using kmalloc for modules.
Using kmalloc instead of vmalloc solves the stability problems experienced by some 100 LX products.
This commit is contained in:
parent
b4945a90d0
commit
08cfeacb6b
|
@ -28,20 +28,28 @@
|
|||
#define DEBUGP(fmt , ...)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ETRAX_KMALLOCED_MODULES
|
||||
#define MALLOC_MODULE(size) kmalloc(size, GFP_KERNEL)
|
||||
#define FREE_MODULE(region) kfree(region)
|
||||
#else
|
||||
#define MALLOC_MODULE(size) vmalloc_exec(size)
|
||||
#define FREE_MODULE(region) vfree(region)
|
||||
#endif
|
||||
|
||||
void *module_alloc(unsigned long size)
|
||||
{
|
||||
if (size == 0)
|
||||
return NULL;
|
||||
return vmalloc_exec(size);
|
||||
return MALLOC_MODULE(size);
|
||||
}
|
||||
|
||||
|
||||
/* Free memory returned from module_alloc */
|
||||
void module_free(struct module *mod, void *module_region)
|
||||
{
|
||||
vfree(module_region);
|
||||
FREE_MODULE(module_region);
|
||||
/* FIXME: If module_region == mod->init_region, trim exception
|
||||
table entries. */
|
||||
table entries. */
|
||||
}
|
||||
|
||||
/* We don't need anything special. */
|
||||
|
|
Loading…
Reference in a new issue