return 0;
}
-static int process_get_mem_virt(const struct resource *res,
- const struct resource_attribute *attr,
- void *data)
+static int process_get_mem_attrs(const struct resource *res,
+ const struct resource_attribute *attr,
+ void *data)
{
struct process_context *ctx;
struct taskstats *curr;
- u_int64_t *virt = (u_int64_t *)data;
+ u_int64_t *mem = (u_int64_t *)data;
if (!res || !res->priv || !attr || !data)
return -EINVAL;
curr = &ctx->curr;
- *virt = (curr->virtmem * 1024 * 1024) / curr->ac_stime;
-
- return 0;
-}
-
-static int process_get_mem_rss(const struct resource *res,
- const struct resource_attribute *attr,
- void *data)
-{
- struct process_context *ctx;
- struct taskstats *curr;
- u_int64_t _rss;
-
- if (!res || !res->priv || !attr || !data)
- return -EINVAL;
-
- ctx = res->priv;
-
- if (!ctx->tgid) {
- _E("resource %s is not yet initialized\n", res->name);
- return -EINVAL;
- }
-
- curr = &ctx->curr;
-
- _rss = (curr->coremem * 1024 * 1024) / curr->ac_stime;
-
switch (attr->id) {
+ case PROCESS_ATTR_MEM_VIRT:
+ *mem = (curr->virtmem * 1024 * 1024) / curr->ac_stime;
+ break;
case PROCESS_ATTR_MEM_RSS:
- {
- u_int64_t *rss = (u_int64_t *)data;
-
- *rss = _rss;
+ *mem = (curr->coremem * 1024 * 1024) / curr->ac_stime;
break;
- }
case PROCESS_ATTR_MEM_RSS_PERCENT:
{
double *percent = (double *)data;
- *percent = ((double)_rss / (double)ctx->total_memory) * 100.0;
+ *percent = (curr->coremem * 1024 * 1024) / curr->ac_stime;
+ *percent /= ctx->total_memory * 100.0;
break;
}
default:
.id = PROCESS_ATTR_MEM_VIRT,
.type = DATA_TYPE_UINT64,
.ops = {
- .get = process_get_mem_virt,
+ .get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
},
}, {
.id = PROCESS_ATTR_MEM_RSS,
.type = DATA_TYPE_UINT64,
.ops = {
- .get = process_get_mem_rss,
+ .get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
},
}, {
.id = PROCESS_ATTR_MEM_RSS_PERCENT,
.type = DATA_TYPE_DOUBLE,
.ops = {
- .get = process_get_mem_rss,
+ .get = process_get_mem_attrs,
.is_supported = resource_attr_supported_always,
},
}, {