|
@@ -325,12 +325,12 @@ static int memcg_init_list_lru_node(struct list_lru_node *nlru)
|
|
{
|
|
{
|
|
int size = memcg_nr_cache_ids;
|
|
int size = memcg_nr_cache_ids;
|
|
|
|
|
|
- nlru->memcg_lrus = kmalloc(size * sizeof(void *), GFP_KERNEL);
|
|
|
|
|
|
+ nlru->memcg_lrus = kvmalloc(size * sizeof(void *), GFP_KERNEL);
|
|
if (!nlru->memcg_lrus)
|
|
if (!nlru->memcg_lrus)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
if (__memcg_init_list_lru_node(nlru->memcg_lrus, 0, size)) {
|
|
if (__memcg_init_list_lru_node(nlru->memcg_lrus, 0, size)) {
|
|
- kfree(nlru->memcg_lrus);
|
|
|
|
|
|
+ kvfree(nlru->memcg_lrus);
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -340,7 +340,7 @@ static int memcg_init_list_lru_node(struct list_lru_node *nlru)
|
|
static void memcg_destroy_list_lru_node(struct list_lru_node *nlru)
|
|
static void memcg_destroy_list_lru_node(struct list_lru_node *nlru)
|
|
{
|
|
{
|
|
__memcg_destroy_list_lru_node(nlru->memcg_lrus, 0, memcg_nr_cache_ids);
|
|
__memcg_destroy_list_lru_node(nlru->memcg_lrus, 0, memcg_nr_cache_ids);
|
|
- kfree(nlru->memcg_lrus);
|
|
|
|
|
|
+ kvfree(nlru->memcg_lrus);
|
|
}
|
|
}
|
|
|
|
|
|
static int memcg_update_list_lru_node(struct list_lru_node *nlru,
|
|
static int memcg_update_list_lru_node(struct list_lru_node *nlru,
|
|
@@ -351,12 +351,12 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru,
|
|
BUG_ON(old_size > new_size);
|
|
BUG_ON(old_size > new_size);
|
|
|
|
|
|
old = nlru->memcg_lrus;
|
|
old = nlru->memcg_lrus;
|
|
- new = kmalloc(new_size * sizeof(void *), GFP_KERNEL);
|
|
|
|
|
|
+ new = kvmalloc(new_size * sizeof(void *), GFP_KERNEL);
|
|
if (!new)
|
|
if (!new)
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
|
|
|
if (__memcg_init_list_lru_node(new, old_size, new_size)) {
|
|
if (__memcg_init_list_lru_node(new, old_size, new_size)) {
|
|
- kfree(new);
|
|
|
|
|
|
+ kvfree(new);
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -373,7 +373,7 @@ static int memcg_update_list_lru_node(struct list_lru_node *nlru,
|
|
nlru->memcg_lrus = new;
|
|
nlru->memcg_lrus = new;
|
|
spin_unlock_irq(&nlru->lock);
|
|
spin_unlock_irq(&nlru->lock);
|
|
|
|
|
|
- kfree(old);
|
|
|
|
|
|
+ kvfree(old);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|