[CRIU] [PATCH] proc_parse: Speedup VMA range parsing
Cyrill Gorcunov
gorcunov at openvz.org
Mon Feb 3 05:24:12 PST 2014
In /proc/<pid>/smaps/ output we may omit testing
for capital hex letters, since we know the format
kernel provides.
Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
proc_parse.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/proc_parse.c b/proc_parse.c
index 254fced638cb..4ca80bde4481 100644
--- a/proc_parse.c
+++ b/proc_parse.c
@@ -69,19 +69,24 @@ int parse_cpuinfo_features(int (*handler)(char *tok))
/* check the @line starts with "%lx-%lx" format */
static bool is_vma_range_fmt(char *line)
{
- while (*line && is_hex_digit(*line))
+#define ____is_vma_addr_char(__c) \
+ (((__c) <= '9' && (__c) >= '0') || \
+ ((__c) <= 'f' && (__c) >= 'a'))
+
+ while (*line && ____is_vma_addr_char(*line))
line++;
if (*line++ != '-')
return false;
- while (*line && is_hex_digit(*line))
+ while (*line && ____is_vma_addr_char(*line))
line++;
if (*line++ != ' ')
return false;
return true;
+#undef ____is_vma_addr_char
}
static int parse_vmflags(char *buf, struct vma_area *vma_area)
--
1.8.3.1
More information about the CRIU
mailing list