File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -968,6 +968,19 @@ adjust_va_to_fit_type(struct vmap_area *va,
968
968
* There are a few exceptions though, as an example it is
969
969
* a first allocation (early boot up) when we have "one"
970
970
* big free space that has to be split.
971
+ *
972
+ * Also we can hit this path in case of regular "vmap"
973
+ * allocations, if "this" current CPU was not preloaded.
974
+ * See the comment in alloc_vmap_area() why. If so, then
975
+ * GFP_NOWAIT is used instead to get an extra object for
976
+ * split purpose. That is rare and most time does not
977
+ * occur.
978
+ *
979
+ * What happens if an allocation gets failed. Basically,
980
+ * an "overflow" path is triggered to purge lazily freed
981
+ * areas to free some memory, then, the "retry" path is
982
+ * triggered to repeat one more time. See more details
983
+ * in alloc_vmap_area() function.
971
984
*/
972
985
lva = kmem_cache_alloc (vmap_area_cachep , GFP_NOWAIT );
973
986
if (!lva )
You can’t perform that action at this time.
0 commit comments