Skip to content

Commit a803fa5

Browse files
author
Kent Overstreet
committed
bcachefs: darray: convert to alloc_hooks()
better memory allocation profiling support Signed-off-by: Kent Overstreet <[email protected]>
1 parent 848c3ff commit a803fa5

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

fs/bcachefs/darray.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
#include <linux/slab.h>
55
#include "darray.h"
66

7-
int __bch2_darray_resize(darray_char *d, size_t element_size, size_t new_size, gfp_t gfp)
7+
int __bch2_darray_resize_noprof(darray_char *d, size_t element_size, size_t new_size, gfp_t gfp)
88
{
99
if (new_size > d->size) {
1010
new_size = roundup_pow_of_two(new_size);
1111

12-
void *data = kvmalloc_array(new_size, element_size, gfp);
12+
void *data = kvmalloc_array_noprof(new_size, element_size, gfp);
1313
if (!data)
1414
return -ENOMEM;
1515

fs/bcachefs/darray.h

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,29 +22,23 @@ struct { \
2222
typedef DARRAY(char) darray_char;
2323
typedef DARRAY(char *) darray_str;
2424

25-
int __bch2_darray_resize(darray_char *, size_t, size_t, gfp_t);
26-
27-
static inline int __darray_resize(darray_char *d, size_t element_size,
28-
size_t new_size, gfp_t gfp)
29-
{
30-
return unlikely(new_size > d->size)
31-
? __bch2_darray_resize(d, element_size, new_size, gfp)
32-
: 0;
33-
}
25+
int __bch2_darray_resize_noprof(darray_char *, size_t, size_t, gfp_t);
26+
27+
#define __bch2_darray_resize(...) alloc_hooks(__bch2_darray_resize_noprof(__VA_ARGS__))
28+
29+
#define __darray_resize(_d, _element_size, _new_size, _gfp) \
30+
(unlikely((_new_size) > (_d)->size) \
31+
? __bch2_darray_resize((_d), (_element_size), (_new_size), (_gfp))\
32+
: 0)
3433

3534
#define darray_resize_gfp(_d, _new_size, _gfp) \
36-
unlikely(__darray_resize((darray_char *) (_d), sizeof((_d)->data[0]), (_new_size), _gfp))
35+
__darray_resize((darray_char *) (_d), sizeof((_d)->data[0]), (_new_size), _gfp)
3736

3837
#define darray_resize(_d, _new_size) \
3938
darray_resize_gfp(_d, _new_size, GFP_KERNEL)
4039

41-
static inline int __darray_make_room(darray_char *d, size_t t_size, size_t more, gfp_t gfp)
42-
{
43-
return __darray_resize(d, t_size, d->nr + more, gfp);
44-
}
45-
4640
#define darray_make_room_gfp(_d, _more, _gfp) \
47-
__darray_make_room((darray_char *) (_d), sizeof((_d)->data[0]), (_more), _gfp)
41+
darray_resize_gfp((_d), (_d)->nr + (_more), _gfp)
4842

4943
#define darray_make_room(_d, _more) \
5044
darray_make_room_gfp(_d, _more, GFP_KERNEL)

0 commit comments

Comments
 (0)