Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 60731
b: refs/heads/master
c: 68dff6a
h: refs/heads/master
i:
  60729: 6bd1ab2
  60727: 640cd68
v: v3
  • Loading branch information
Christoph Lameter authored and Linus Torvalds committed Jul 17, 2007
1 parent d3de0be commit 4504304
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5b95a4acf157eee552e013795b54eaa2ab1ee4a1
refs/heads/master: 68dff6a9af9f27df5aeee6d0339818b0e36c1b51
17 changes: 7 additions & 10 deletions trunk/mm/slub.c
Original file line number Diff line number Diff line change
Expand Up @@ -2902,18 +2902,14 @@ static void free_loc_track(struct loc_track *t)
get_order(sizeof(struct location) * t->max));
}

static int alloc_loc_track(struct loc_track *t, unsigned long max)
static int alloc_loc_track(struct loc_track *t, unsigned long max, gfp_t flags)
{
struct location *l;
int order;

if (!max)
max = PAGE_SIZE / sizeof(struct location);

order = get_order(sizeof(struct location) * max);

l = (void *)__get_free_pages(GFP_ATOMIC, order);

l = (void *)__get_free_pages(flags, order);
if (!l)
return 0;

Expand Down Expand Up @@ -2979,7 +2975,7 @@ static int add_location(struct loc_track *t, struct kmem_cache *s,
/*
* Not found. Insert new tracking element.
*/
if (t->count >= t->max && !alloc_loc_track(t, 2 * t->max))
if (t->count >= t->max && !alloc_loc_track(t, 2 * t->max, GFP_ATOMIC))
return 0;

l = t->loc + pos;
Expand Down Expand Up @@ -3022,11 +3018,12 @@ static int list_locations(struct kmem_cache *s, char *buf,
{
int n = 0;
unsigned long i;
struct loc_track t;
struct loc_track t = { 0, 0, NULL };
int node;

t.count = 0;
t.max = 0;
if (!alloc_loc_track(&t, PAGE_SIZE / sizeof(struct location),
GFP_KERNEL))
return sprintf(buf, "Out of memory\n");

/* Push back cpu slabs */
flush_all(s);
Expand Down

0 comments on commit 4504304

Please sign in to comment.