FreeBSD Bugzilla – Attachment 186123 Details for
Bug 211432
emulators/virtualbox-ose: wrong free memory calculation
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix RTSystemQueryAvailableRam()
vbox.diff (text/plain), 2.57 KB, created by
Jung-uk Kim
on 2017-09-06 18:21:50 UTC
(
hide
)
Description:
Fix RTSystemQueryAvailableRam()
Filename:
MIME Type:
Creator:
Jung-uk Kim
Created:
2017-09-06 18:21:50 UTC
Size:
2.57 KB
patch
obsolete
>Index: emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp >=================================================================== >--- emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp (nonexistent) >+++ emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp (working copy) >@@ -0,0 +1,42 @@ >+--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2017-07-27 13:18:46 UTC >++++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp >+@@ -64,8 +64,9 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) >+ int rc = VINF_SUCCESS; >+ u_int cPagesMemFree = 0; >+ u_int cPagesMemInactive = 0; >++#if __FreeBSD_version < 1200016 >+ u_int cPagesMemCached = 0; >+- u_int cPagesMemUsed = 0; >++#endif >+ int cbPage = 0; >+ size_t cbParameter; >+ int cProcessed = 0; >+@@ -73,25 +74,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb) >+ cbParameter = sizeof(cPagesMemFree); >+ if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0)) >+ rc = RTErrConvertFromErrno(errno); >+- cbParameter = sizeof(cPagesMemUsed); >+- if ( RT_SUCCESS(rc) >+- && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0)) >+- rc = RTErrConvertFromErrno(errno); >+ cbParameter = sizeof(cPagesMemInactive); >+ if ( RT_SUCCESS(rc) >+ && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0)) >+ rc = RTErrConvertFromErrno(errno); >++#if __FreeBSD_version < 1200016 >+ cbParameter = sizeof(cPagesMemCached); >+ if ( RT_SUCCESS(rc) >+ && sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0)) >+ rc = RTErrConvertFromErrno(errno); >++#endif >+ cbParameter = sizeof(cbPage); >+ if ( RT_SUCCESS(rc) >+ && sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0)) >+ rc = RTErrConvertFromErrno(errno); >+ >+ if (RT_SUCCESS(rc)) >+- *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage; >++ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage; >+ >+ return rc; >+ } > >Property changes on: emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 211432
:
186120
|
186123
|
186140
|
186142
|
186149
|
186154