- Add a sysctl_dpcpu_long to support long typed pcpu stats.
- Remove the #ifndef SMP case as the SMP code works on UP as well. Reviewed by: sam
This commit is contained in:
parent
72263475c4
commit
e6e06a8b47
@ -264,9 +264,8 @@ pcpu_find(u_int cpuid)
|
|||||||
int
|
int
|
||||||
sysctl_dpcpu_quad(SYSCTL_HANDLER_ARGS)
|
sysctl_dpcpu_quad(SYSCTL_HANDLER_ARGS)
|
||||||
{
|
{
|
||||||
int64_t count;
|
|
||||||
#ifdef SMP
|
|
||||||
uintptr_t dpcpu;
|
uintptr_t dpcpu;
|
||||||
|
int64_t count;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
@ -276,18 +275,31 @@ sysctl_dpcpu_quad(SYSCTL_HANDLER_ARGS)
|
|||||||
continue;
|
continue;
|
||||||
count += *(int64_t *)(dpcpu + (uintptr_t)arg1);
|
count += *(int64_t *)(dpcpu + (uintptr_t)arg1);
|
||||||
}
|
}
|
||||||
#else
|
return (SYSCTL_OUT(req, &count, sizeof(count)));
|
||||||
count = *(int64_t *)(dpcpu_off[0] + (uintptr_t)arg1);
|
}
|
||||||
#endif
|
|
||||||
|
int
|
||||||
|
sysctl_dpcpu_long(SYSCTL_HANDLER_ARGS)
|
||||||
|
{
|
||||||
|
uintptr_t dpcpu;
|
||||||
|
long count;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
count = 0;
|
||||||
|
for (i = 0; i < mp_ncpus; ++i) {
|
||||||
|
dpcpu = dpcpu_off[i];
|
||||||
|
if (dpcpu == 0)
|
||||||
|
continue;
|
||||||
|
count += *(long *)(dpcpu + (uintptr_t)arg1);
|
||||||
|
}
|
||||||
return (SYSCTL_OUT(req, &count, sizeof(count)));
|
return (SYSCTL_OUT(req, &count, sizeof(count)));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
sysctl_dpcpu_int(SYSCTL_HANDLER_ARGS)
|
sysctl_dpcpu_int(SYSCTL_HANDLER_ARGS)
|
||||||
{
|
{
|
||||||
int count;
|
|
||||||
#ifdef SMP
|
|
||||||
uintptr_t dpcpu;
|
uintptr_t dpcpu;
|
||||||
|
int count;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
count = 0;
|
count = 0;
|
||||||
@ -297,9 +309,6 @@ sysctl_dpcpu_int(SYSCTL_HANDLER_ARGS)
|
|||||||
continue;
|
continue;
|
||||||
count += *(int *)(dpcpu + (uintptr_t)arg1);
|
count += *(int *)(dpcpu + (uintptr_t)arg1);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
count = *(int *)(dpcpu_off[0] + (uintptr_t)arg1);
|
|
||||||
#endif
|
|
||||||
return (SYSCTL_OUT(req, &count, sizeof(count)));
|
return (SYSCTL_OUT(req, &count, sizeof(count)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,6 +179,7 @@ int sysctl_handle_string(SYSCTL_HANDLER_ARGS);
|
|||||||
int sysctl_handle_opaque(SYSCTL_HANDLER_ARGS);
|
int sysctl_handle_opaque(SYSCTL_HANDLER_ARGS);
|
||||||
|
|
||||||
int sysctl_dpcpu_int(SYSCTL_HANDLER_ARGS);
|
int sysctl_dpcpu_int(SYSCTL_HANDLER_ARGS);
|
||||||
|
int sysctl_dpcpu_long(SYSCTL_HANDLER_ARGS);
|
||||||
int sysctl_dpcpu_quad(SYSCTL_HANDLER_ARGS);
|
int sysctl_dpcpu_quad(SYSCTL_HANDLER_ARGS);
|
||||||
|
|
||||||
#ifdef VIMAGE
|
#ifdef VIMAGE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user