VirtualBox

Ticket #11171: diff_gfp_nowarn

File diff_gfp_nowarn, 3.4 KB (added by Frank Mehnert, 11 years ago)

Diff against VBox 4.3.6 host kernel drivers

Line 
1Index: src/VBox/Runtime/r0drv/linux/the-linux-kernel.h
2===================================================================
3--- src/VBox/Runtime/r0drv/linux/the-linux-kernel.h (revision 91594)
4+++ src/VBox/Runtime/r0drv/linux/the-linux-kernel.h (revision 91595)
5@@ -150,6 +150,10 @@
6 # define DEFINE_WAIT(name) DECLARE_WAITQUEUE(name, current)
7 #endif
8
9+#ifndef __GFP_NOWARN
10+# define __GFP_NOWARN 0
11+#endif
12+
13 /*
14 * 2.4 / early 2.6 compatibility wrappers
15 */
16Index: src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
17===================================================================
18--- src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (revision 91594)
19+++ src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (revision 91595)
20@@ -320,9 +320,9 @@
21 || cb <= PAGE_SIZE * 2)
22 {
23 # ifdef VBOX_USE_INSERT_PAGE
24- paPages = alloc_pages(fFlagsLnx | __GFP_COMP, rtR0MemObjLinuxOrder(cPages));
25+ paPages = alloc_pages(fFlagsLnx | __GFP_COMP | __GFP_NOWARN, rtR0MemObjLinuxOrder(cPages));
26 # else
27- paPages = alloc_pages(fFlagsLnx, rtR0MemObjLinuxOrder(cPages));
28+ paPages = alloc_pages(fFlagsLnx | __GFP_NOWARN, rtR0MemObjLinuxOrder(cPages));
29 # endif
30 if (paPages)
31 {
32@@ -341,7 +341,7 @@
33 {
34 for (iPage = 0; iPage < cPages; iPage++)
35 {
36- pMemLnx->apPages[iPage] = alloc_page(fFlagsLnx);
37+ pMemLnx->apPages[iPage] = alloc_page(fFlagsLnx | __GFP_NOWARN);
38 if (RT_UNLIKELY(!pMemLnx->apPages[iPage]))
39 {
40 while (iPage-- > 0)
41@@ -1170,7 +1170,7 @@
42 * Allocate a dummy page and create a page pointer array for vmap such that
43 * the dummy page is mapped all over the reserved area.
44 */
45- pDummyPage = alloc_page(GFP_HIGHUSER);
46+ pDummyPage = alloc_page(GFP_HIGHUSER | __GFP_NOWARN);
47 if (!pDummyPage)
48 return VERR_NO_MEMORY;
49 papPages = RTMemAlloc(sizeof(*papPages) * cPages);
50@@ -1407,7 +1407,7 @@
51 /*
52 * Allocate a dummy page for use when mapping the memory.
53 */
54- pDummyPage = alloc_page(GFP_USER);
55+ pDummyPage = alloc_page(GFP_USER | __GFP_NOWARN);
56 if (!pDummyPage)
57 return VERR_NO_MEMORY;
58 SetPageReserved(pDummyPage);
59Index: src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c
60===================================================================
61--- src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c (revision 91594)
62+++ src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c (revision 91595)
63@@ -173,7 +173,7 @@
64
65 for (iPage = 0; iPage < cPages; iPage++)
66 {
67- papPages[iPage] = alloc_page(GFP_KERNEL | __GFP_HIGHMEM);
68+ papPages[iPage] = alloc_page(GFP_KERNEL | __GFP_HIGHMEM | __GFP_NOWARN);
69 if (!papPages[iPage])
70 break;
71 }
72@@ -383,15 +383,15 @@
73 cOrder = CalcPowerOf2Order(cPages);
74 #if (defined(RT_ARCH_AMD64) || defined(CONFIG_X86_PAE)) && defined(GFP_DMA32)
75 /* ZONE_DMA32: 0-4GB */
76- paPages = alloc_pages(GFP_DMA32, cOrder);
77+ paPages = alloc_pages(GFP_DMA32 | __GFP_NOWARN, cOrder);
78 if (!paPages)
79 #endif
80 #ifdef RT_ARCH_AMD64
81 /* ZONE_DMA; 0-16MB */
82- paPages = alloc_pages(GFP_DMA, cOrder);
83+ paPages = alloc_pages(GFP_DMA | __GFP_NOWARN, cOrder);
84 #else
85 /* ZONE_NORMAL: 0-896MB */
86- paPages = alloc_pages(GFP_USER, cOrder);
87+ paPages = alloc_pages(GFP_USER | __GFP_NOWARN, cOrder);
88 #endif
89 if (paPages)
90 {

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy