libmemtrack: Update parsing of kgsl mem file am: 76b25b6985
am: d3da682c40
Change-Id: I6f6c65ea1aaa911abf4c5856ef8f400255ab1bea
This commit is contained in:
commit
074d76b860
|
@ -85,7 +85,7 @@ int kgsl_memtrack_get_memory(pid_t pid, enum memtrack_type type,
|
|||
* count the entry as accounted else count the entry as unaccounted.
|
||||
*/
|
||||
while (1) {
|
||||
unsigned long size;
|
||||
unsigned long size, mapsize;
|
||||
char line_type[7];
|
||||
char flags[7];
|
||||
char line_usage[19];
|
||||
|
@ -96,19 +96,21 @@ int kgsl_memtrack_get_memory(pid_t pid, enum memtrack_type type,
|
|||
}
|
||||
|
||||
/* Format:
|
||||
* gpuaddr useraddr size id flags type usage sglen
|
||||
* 545ba000 545ba000 4096 1 ----pY gpumem arraybuffer 1
|
||||
* gpuaddr useraddr size id flags type usage sglen mapsize
|
||||
* 545ba000 545ba000 4096 1 ----pY gpumem arraybuffer 1 4096
|
||||
*/
|
||||
ret = sscanf(line, "%*x %*lx %lu %*d %6s %6s %18s %*d\n",
|
||||
&size, flags, line_type, line_usage);
|
||||
if (ret != 4) {
|
||||
ret = sscanf(line, "%*x %*lx %lu %*d %6s %6s %18s %*d %lu\n",
|
||||
&size, flags, line_type, line_usage, &mapsize);
|
||||
if (ret != 5) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (type == MEMTRACK_TYPE_GL && strcmp(line_type, "gpumem") == 0) {
|
||||
|
||||
if (flags[5] == 'Y')
|
||||
accounted_size += size;
|
||||
if (flags[5] == 'Y') {
|
||||
accounted_size += mapsize;
|
||||
unaccounted_size += size - mapsize;
|
||||
}
|
||||
else
|
||||
unaccounted_size += size;
|
||||
|
||||
|
|
Loading…
Reference in New Issue