projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'spi/fix/dspi' into spi-linus
[firefly-linux-kernel-4.4.55.git]
/
fs
/
xfs
/
kmem.c
diff --git
a/fs/xfs/kmem.c
b/fs/xfs/kmem.c
index 4a7286c1dc80d270af40a3733870bb9dd769ee82..a02cfb9e3bcea43d49a033f313387fa217aa789c 100644
(file)
--- a/
fs/xfs/kmem.c
+++ b/
fs/xfs/kmem.c
@@
-27,8
+27,6
@@
/*
* Greedy allocation. May fail and may return vmalloced memory.
/*
* Greedy allocation. May fail and may return vmalloced memory.
- *
- * Must be freed using kmem_free_large.
*/
void *
kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize)
*/
void *
kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize)
@@
-36,7
+34,7
@@
kmem_zalloc_greedy(size_t *size, size_t minsize, size_t maxsize)
void *ptr;
size_t kmsize = maxsize;
void *ptr;
size_t kmsize = maxsize;
- while (!(ptr =
kmem_zalloc_large
(kmsize))) {
+ while (!(ptr =
vzalloc
(kmsize))) {
if ((kmsize >>= 1) <= minsize)
kmsize = minsize;
}
if ((kmsize >>= 1) <= minsize)
kmsize = minsize;
}
@@
-75,6
+73,17
@@
kmem_zalloc(size_t size, xfs_km_flags_t flags)
return ptr;
}
return ptr;
}
+void *
+kmem_zalloc_large(size_t size, xfs_km_flags_t flags)
+{
+ void *ptr;
+
+ ptr = kmem_zalloc(size, flags | KM_MAYFAIL);
+ if (ptr)
+ return ptr;
+ return vzalloc(size);
+}
+
void
kmem_free(const void *ptr)
{
void
kmem_free(const void *ptr)
{