Repository: GuillaumeGomez/sysinfo (language: rust)

Issue:
CPU frequency not refreshing
**Describe the bug**

When using `sys.global_cpu_info()` CPU frequency is always returning 0 on Windows 10.

On Linux it returns an actual value but calling `refresh` is not working, unless creating a new `sys` instance, witch is inefficient.

Also LoadAvg values are not being updated on Windows, whereas in linux it does work. 
Are these a known issues or am I doing something wrong?


**To Reproduce**

`sysinfo = "0.29.10"`
 
```
use std::{thread, time::Duration};
use sysinfo::{System, SystemExt};

fn main() {
    let mut sys = System::new_all();
    loop{
        sys.refresh_all();
        println!("{:?}", sys.global_cpu_info());
        println!("{:?}", sys.load_average());
        thread::sleep(Duration::from_millis(500));
    }
}
```

This is an example of the output I'm getting in Windows 10
```
LoadAvg { one: 0.0, five: 0.0, fifteen: 0.0 }
Cpu { name: "Total CPU", CPU usage: 2.7330322, frequency: 0, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.0, five: 0.0, fifteen: 0.0 }
Cpu { name: "Total CPU", CPU usage: 2.1971512, frequency: 0, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.0, five: 0.0, fifteen: 0.0 }
Cpu { name: "Total CPU", CPU usage: 2.219864, frequency: 0, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.0, five: 0.0, fifteen: 0.0 }
Cpu { name: "Total CPU", CPU usage: 1.710823, frequency: 0, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.0, five: 0.0, fifteen: 0.0 }
```
And in Linux (Ubuntu 23.04)
```
Cpu { name: "cpu", CPU usage: 3.2229636, frequency: 4376, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.3, five: 0.31, fifteen: 0.15 }
Cpu { name: "cpu", CPU usage: 2.879902, frequency: 4376, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.3, five: 0.31, fifteen: 0.15 }
Cpu { name: "cpu", CPU usage: 1.6653451, frequency: 4376, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.3, five: 0.31, fifteen: 0.15 }
Cpu { name: "cpu", CPU usage: 2.3659306, frequency: 4376, vendor ID: "AuthenticAMD", brand: "AMD Ryzen 9 3900X 12-Core Processor" }
LoadAvg { one: 0.27, five: 0.31, fifteen: 0.15 }

```


Discussion / hints:
Load average is not working on windows (I forgot to put it into the docs...).

As for `global_cpu_info`, never use that to get CPU frequency/vendor ID/brand as it doesn't represent a CPU but rather just the total CPU usage. In next update, the only information it'll contain will be CPU usage and all other fields will be empty (on all systems).

Fix patch:
diff --git a/src/common.rs b/src/common.rs
index fedee640a..5d0cfeb60 100644
--- a/src/common.rs
+++ b/src/common.rs
@@ -572,6 +572,8 @@ impl System {
 
     /// Returns the system load average value.
     ///
+    /// ⚠️ This is currently not working on **Windows**.
+    ///
     /// ```no_run
     /// use sysinfo::System;
     ///


Test patch: