Fix calculation of GFP flags
This commit is contained in:
parent
be9bda6536
commit
84073ba0ce
@ -935,6 +935,7 @@ window.onerror = function (msg, url, lineNo, columnNo, errorObj) {
|
|||||||
<h4>General</h4>
|
<h4>General</h4>
|
||||||
<ol>
|
<ol>
|
||||||
<li>Fix memory calculation in summary section</li>
|
<li>Fix memory calculation in summary section</li>
|
||||||
|
<li>Fix calculation of GFP flags</li>
|
||||||
<li>...</li>
|
<li>...</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
|
@ -1113,7 +1113,7 @@ class OOMAnalyser:
|
|||||||
# __pragma__ ('jsiter')
|
# __pragma__ ('jsiter')
|
||||||
for flag in flag_definition:
|
for flag in flag_definition:
|
||||||
value = self._flag2decimal(flag, flag_definition)
|
value = self._flag2decimal(flag, flag_definition)
|
||||||
if remaining & value:
|
if (remaining & value) == value:
|
||||||
# delete flag by "and" with a reverted mask
|
# delete flag by "and" with a reverted mask
|
||||||
remaining &= ~value
|
remaining &= ~value
|
||||||
converted_flags.append(flag)
|
converted_flags.append(flag)
|
||||||
@ -1134,7 +1134,7 @@ class OOMAnalyser:
|
|||||||
return value
|
return value
|
||||||
|
|
||||||
tokenlist = iter(re.split("([|&])", value))
|
tokenlist = iter(re.split("([|&])", value))
|
||||||
operator = None
|
operator = "|" # set to process first flag
|
||||||
negate_rvalue = False
|
negate_rvalue = False
|
||||||
lvalue = 0
|
lvalue = 0
|
||||||
while True:
|
while True:
|
||||||
|
12
test.py
12
test.py
@ -189,10 +189,18 @@ class TestInBrowser(TestBase):
|
|||||||
trigger_proc_gfp_mask = self.driver.find_element(
|
trigger_proc_gfp_mask = self.driver.find_element(
|
||||||
By.CLASS_NAME, "trigger_proc_gfp_mask"
|
By.CLASS_NAME, "trigger_proc_gfp_mask"
|
||||||
)
|
)
|
||||||
|
# 0x201da:
|
||||||
|
# __GFP_HIGHMEM 2 0x02
|
||||||
|
# __GFP_MOVABLE 8 0x08
|
||||||
|
# __GFP_RECLAIMABLE 16 0x10
|
||||||
|
# __GFP_IO 64 0x40
|
||||||
|
# __GFP_FS 128 0x80
|
||||||
|
# __GFP_COLD 256 0x100
|
||||||
|
# __GFP_HARDWALL 131072 0x20000
|
||||||
|
# 0x201da
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
trigger_proc_gfp_mask.text,
|
trigger_proc_gfp_mask.text,
|
||||||
"0x201da (GFP_KERNEL | GFP_USER | GFP_HIGHUSER | "
|
"0x201da (__GFP_HIGHMEM | __GFP_MOVABLE | __GFP_RECLAIMABLE | __GFP_IO | __GFP_FS | __GFP_COLD | __GFP_HARDWALL)",
|
||||||
"GFP_HIGHUSER_MOVABLE | __GFP_RECLAIMABLE | __GFP_COLD)",
|
|
||||||
"Unexpected GFP Mask",
|
"Unexpected GFP Mask",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user