Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148247316
D13018.id35001.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D13018.id35001.diff
View Options
Index: sys/sys/vmmeter.h
===================================================================
--- sys/sys/vmmeter.h
+++ sys/sys/vmmeter.h
@@ -46,15 +46,15 @@
int16_t t_pw; /* jobs in page wait */
int16_t t_sl; /* jobs sleeping in core */
int16_t t_sw; /* swapped out runnable/short block jobs */
- int32_t t_vm; /* total virtual memory */
- int32_t t_avm; /* active virtual memory */
+ uint64_t t_vm; /* total virtual memory */
+ uint64_t t_avm; /* active virtual memory */
int32_t t_rm; /* total real memory in use */
int32_t t_arm; /* active real memory */
- int32_t t_vmshr; /* shared virtual memory */
- int32_t t_avmshr; /* active shared virtual memory */
+ uint64_t t_vmshr; /* shared virtual memory */
+ uint64_t t_avmshr; /* active shared virtual memory */
int32_t t_rmshr; /* shared real memory */
int32_t t_armshr; /* active shared real memory */
- int32_t t_free; /* free memory pages */
+ uint32_t t_free; /* free memory pages */
};
#if defined(_KERNEL) || defined(_WANT_VMMETER)
Index: sys/vm/vm_meter.c
===================================================================
--- sys/vm/vm_meter.c
+++ sys/vm/vm_meter.c
@@ -152,10 +152,32 @@
return (obj->ref_count > obj->shadow_count);
}
+#if defined(COMPAT_FREEBSD11)
+struct vmtotal11 {
+ int16_t t_rq;
+ int16_t t_dw;
+ int16_t t_pw;
+ int16_t t_sl;
+ int16_t t_sw;
+ int32_t t_vm;
+ int32_t t_avm;
+ int32_t t_rm;
+ int32_t t_arm;
+ int32_t t_vmshr;
+ int32_t t_avmshr;
+ int32_t t_rmshr;
+ int32_t t_armshr;
+ int32_t t_free;
+};
+#endif
+
static int
vmtotal(SYSCTL_HANDLER_ARGS)
{
struct vmtotal total;
+#if defined(COMPAT_FREEBSD11)
+ struct vmtotal11 total11;
+#endif
vm_object_t object;
struct proc *p;
struct thread *td;
@@ -253,6 +275,29 @@
}
mtx_unlock(&vm_object_list_mtx);
total.t_free = vm_cnt.v_free_count;
+#if defined(COMPAT_FREEBSD11)
+ if (req->oldlen == sizeof(total11)) {
+ bzero(&total11, sizeof(total11));
+
+ total11.t_rq = total.t_rq;
+ total11.t_dw = total.t_dw;
+ total11.t_pw = total.t_pw;
+ total11.t_sl = total.t_sl;
+ total11.t_sw = total.t_sw;
+ total11.t_vm = total.t_vm; /* trucate */
+ total11.t_avm = total.t_avm; /* trucate */
+ total11.t_rm = total.t_rm;
+ total11.t_arm = total.t_arm;
+ total11.t_vmshr = total.t_vmshr; /* truncate */
+ total11.t_avmshr = total.t_avmshr; /* truncate */
+ total11.t_rmshr = total.t_rmshr;
+ total11.t_armshr = total.t_armshr;
+ total11.t_free = total.t_free; /* trucate */
+
+ return (sysctl_handle_opaque(oidp, &total11, sizeof(total11),
+ req));
+ }
+#endif
return (sysctl_handle_opaque(oidp, &total, sizeof(total), req));
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Mar 17, 6:51 PM (2 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29842033
Default Alt Text
D13018.id35001.diff (2 KB)
Attached To
Mode
D13018: vmtotal: extend counters to match reality
Attached
Detach File
Event Timeline
Log In to Comment