Extension from the Huawei Matebook D15 - huawei-developers

I know you can build a Sata 3 SSD in a d15 with an adapter cable from the huawei shop... but can they also install an NVMe M.2 SSD? And if not, does anyone have an SSD with a good read and write rate?
I hope I can install a NVMe SSD

Yes, you can install nvme, but will need an extension, https://www.amazon.com/nvme-sata-adapter/s?k=nvme+to+sata+adapter. Then your nvme will work at the sata3 speed 6GBPS.

Related

How can operating system detect live resize of disk capacity?

I saw the following discussion and had some questions:
live resize of a NVMe drive
If the physical capacity of the nvme device changes (e.g., from 10GB to 20GB), how the operating system detect it without rebooting?
In the above link, re-scanning pci bus is solution.
When the re-scanning be executed, does the operating system ask the nvme device to update its meta-info (e.g., capacity, etc.) ?
How does OS interact with disk specifically? (How to read changed device parameters from the disk, not the old device parameters in memory?)
This is an AWS virtual-machine probably so the disk is actually a virtual-disk. You can't resize a physical disk like you upgrade its capacity physically (you'd need to change the disk).
With that said, this machine probably runs on top of a type 1 hypervisor. What I understand about these is that the virtual machines (VMs) run as processes on a different ring on top of a minimal operating-system (hypervisor). When the VMs execute privileged instructions, it will trigger a protection fault and the hypervisor can thus inspect who actually triggered the fault (was it the guest kernel or a user mode process within the guest kernel?). If it was the guest kernel than it can execute that instruction on behalf of the guest. Otherwise, it will probably do what a real kernel would do (trigger an exception). It can tell the difference because the guest kernel runs in a different ring than the ring 3 (user mode).
With that said, the NVME device isn't PCI it is NVME. The host controller of the NVME drive is PCI. To rescan the NVME drives, you will read/write to some registers that are memory mapped in RAM and ask the NVME PCI host controller what is the size of the different disks that are found. PCI is known to be hot pluggable (similarly to USB) in some cases but mostly not on consumer motherboards. I don't think you'll get any interrupt when a PCI device is hot plugged so you are left doing a rescan of the devices.
For NVME, it depends on the host controller if you'll get an interrupt when a disk is swapped/changes size. As to virtual-disks, it probably depends on a lot of different things. You could definitely be left doing a PCI rescan here. I guess it depends on the hypervisor, on the OS and on the host controller configurations.

libvirtd with qemu: ryzen cpu emulation on intel host?

I try to set the settings of my virtual machine as my ryzen laptop. The VM is on an host with intel CPU. But I already stuck on setting the correct model. I can't find Ryzen.
libvirtd version: 6.1.0
qemu version: 4.2.0
How can I specify Ryzen?
Ryzen is in the same family as EPYC, so you want CPU model name "EPYC" / "EPYC-IBPB" - see also https://www.qemu.org/docs/master/system/target-i386.html#recommendations-for-kvm-cpu-model-configuration-on-x86-hosts
That said, if the VM is running on a host with Intel CPUs, you are not going to be able to pick a EPYC CPU model for it, because that is not capable of running on an Intel host due to mis-matched features.

how does the os know which hdd it booted from?

In a computer having two or more hdds(Hard disk drive, such as hard disks, cd-roms, usb disks), the bootloader uses bios int 13h/42h to load sectors from the booted hdd. When the os is loaded, I guess it will erase all the bios code and scan all the hdds available by itself. Before that, I think the os must know which hdd it booted from. The only way the os can know that is to ask bios, I think. For example, there are 3 usb disks, 3 hard disks(on the pci bus) attatched to the computer, the os must know which one it booted from. So I want to ask how the os gets that infomation?

kworker has high CPU usage on idle system

Thanks for stopping by!
So I just bought a Pi desktop kit for my RaspberryPi 3B v1.2, which features an add-on module with an mSATA disk slot, real-time clock and power control. I installed the latest raspbian stretch (kernel version 4.9.59-v7+) on the mSATA SSD, and are now booting Raspbian from it with no SD card in the onboard card reader.
A kworker process is now constantly hogging between 8.0-13.5% CPU usage, which I think seems quite unnecessary, and it has annoying consequences, fx lagging videos with Kodi. This has never happened before I added the module.
I then tried perf (inspiration from this thread) by running sudo perf record -D 1000 -g -a sleep 20 and then sudo perf report to figure out which kernel tasks might be responsible:
But I can't figure out how to go on from there to reduce the workload. Could it be caused by the real-time clock embedded in the add-on board as __timer_delay, arch_timer_read_counter_long, and arch_counter_get_cntpct seem to have a high CPU usage? Other tasks with high load are finish_task_switch and _raw_spin_unlock_irqrestore tasks, but I can't guess what that's about.
Am I right that this is unnecessary work load of the CPU and if so, how can I reduce it?
Many thanks in advance!
I had the same issue and found the root cause was that I didn't insert SD card into my Raspberry Pi. When SD card is missing, the kernel frequently tries to scan the SD card slot, which causes high CPU usage.
Download sdtweak.dtbo and replace the existing one under /boot/overlays/ with the new one, then add dtoverlay=sdtweak,poll_once into /boot/config.txt and reboot the machine. It worked for me.
See also: https://github.com/raspberrypi/linux/issues/2567
You can install iotop for looking at load.
For high load /etc/sysctl.conf :
vm.vfs_cache_pressure=500
vm.swappiness=10
vm.dirty_background_ratio=1
vm.dirty_ratio=50
then sysctl --system

Addressable memory of a CPU

In a Computer architecture book, I studied that Pentium IV has 64 bits bus width and addressable memory of 64 gigabytes. Does it mean that a computer running Pentium IV can support 64GB RAM, if supported by the OS?
This is so-called Physical Address Extension, which was supported by both Intel and AMD processors. Yes, with proper OS support 64Gb of RAM could be addressed. PLease read https://en.wikipedia.org/wiki/Physical_Address_Extension for more information