X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fsystem-stats.c;h=7789787310e2382c571835633d5e9092e5b1e066;hb=HEAD;hp=ca98b03e5a3da5a7d6b6f6ac64df5bcab0acc74e;hpb=7685b7a9e5b3f6db6832e52e111000ff36d3acb4;p=sliver-openvswitch.git diff --git a/vswitchd/system-stats.c b/vswitchd/system-stats.c index ca98b03e5..778978731 100644 --- a/vswitchd/system-stats.c +++ b/vswitchd/system-stats.c @@ -85,7 +85,14 @@ get_page_size(void) static unsigned int cached; if (!cached) { +#ifndef _WIN32 long int value = sysconf(_SC_PAGESIZE); +#else + long int value; + SYSTEM_INFO sysinfo; + GetSystemInfo(&sysinfo); + value = sysinfo.dwPageSize; +#endif if (value >= 0) { cached = value; } @@ -111,12 +118,20 @@ get_memory_stats(struct smap *stats) #endif int mem_total, mem_used; +#ifndef _WIN32 if (pagesize <= 0 || phys_pages <= 0 || avphys_pages <= 0) { return; } mem_total = phys_pages * (pagesize / 1024); mem_used = (phys_pages - avphys_pages) * (pagesize / 1024); +#else + MEMORYSTATUS memory_status; + GlobalMemoryStatus(&memory_status); + + mem_total = memory_status.dwTotalPhys; + mem_used = memory_status.dwTotalPhys - memory_status.dwAvailPhys; +#endif smap_add_format(stats, "memory", "%d,%d", mem_total, mem_used); } else { static const char file_name[] = "/proc/meminfo"; @@ -398,6 +413,7 @@ get_process_info(pid_t pid, struct process_info *pinfo) static void get_process_stats(struct smap *stats) { +#ifndef _WIN32 struct dirent *de; DIR *dir; @@ -448,6 +464,7 @@ get_process_stats(struct smap *stats) } closedir(dir); +#endif /* _WIN32 */ } static void @@ -525,7 +542,8 @@ system_stats_enable(bool enable) ovs_mutex_lock(&mutex); if (enable) { if (!started) { - xpthread_create(NULL, NULL, system_stats_thread_func, NULL); + ovs_thread_create("system_stats", + system_stats_thread_func, NULL); latch_init(&latch); started = true; }