VMware Communities
Mntn
Contributor
Contributor

CentOS 7 as VM doesn't come after I add monitor_control.virtual_rdtsc = "FALSE" to the .vmx file

Hello team,

I use VMware workstation pro 16.2.1 build-18811642 on Windows 10 and find my CentOS7 doesn't come after I add monitor_control.virtual_rdtsc = "FALSE" to the .vmx file. It can boot after this line is cleared from the .vmx file. I find this setting works with the latest version of VMware workstation player and old ESXi 5.5. Could someone advise about this symptom?

Best regards,   

Reply
0 Kudos
12 Replies
wila
Immortal
Immortal

Hi,

That's a very low level - undocumented - vmx configuration setting and it's rarely needed.

Can you share why you even have to set it?

I'm puzzled as to why it would work with VMware Player 16.2.1 but not Workstation 16.2.1 as they are using the same virtualisation engine... Have you tried with VMware Player that comes with Workstation?

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
Mntn
Contributor
Contributor

Hello Wil,

Thank you for your help.
My application requirement says the user must disable virtual TSC on the VM to allow haveged to read randomness from the VM host machine processor's TSC before installation.

> I'm puzzled as to why it would work with VMware Player 16.2.1 but not Workstation 16.2.1 as they are using the same virtualisation engine...

Sorry my explanation is not enough. I run VMware Player 16.2.1 on my personal PC(non-commercial purpose) and Workstation 16.2.1 on my business PC.

> Have you tried with VMware Player that comes with Workstation?

I didn't know it. But I find it on my business PC and this symptom happens on my VMware Player 16.2.1 too. It seems it is symptom of my business PC only.
Please tell me if you have any suggestions.

Best regards,

Reply
0 Kudos
wila
Immortal
Immortal

Hi,

Are both machines using intel processors?

Asking as the rdtsc command to read the time stamp counter is an intel only feature and apparently not available on an AMD CPU.

Is there an error when trying to start?

What might help otherwise is to attach a vmware.log file from the machine with the problems.

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
bluefirestorm
Champion
Champion

Would the application still need haveged if the CPU is Intel Broadwell or newer? The VM should have access to the RDRAND instruction.

Reply
0 Kudos
Mntn
Contributor
Contributor

> Would the application still need haveged if the CPU is Intel Broadwell or newer? The VM should have access to the RDRAND instruction.

As the out put of the 'About' Windows 10, CPU is Intel(R) Core(TM) i7-9850H (Coffee Lake, Mobile processor).

Regards,

Reply
0 Kudos
Mntn
Contributor
Contributor

Hello Wil,

> Are both machines using intel processors?
> Asking as the rdtsc command to read the time stamp counter is an intel only feature and apparently not available on an AMD CPU.

My business PC has Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz 2.59 GHz. I see it Setting > About on my Windows 10.
My personal one has AMD Ryzen (It works.)

> Is there an error when trying to start?

I didn't see any error. A prompt blinks on and off until VM is topped.

Screenshot (1172).png

 

Screenshot (1174).png

 

> What might help otherwise is to attach a vmware.log file from the machine with the problems.

'monitor_control.virtual_rdtsc' appears at line 390 in the vmware.log.

2021-11-30T07:03:43.688Z In(05) vmx DICT monitor_control.virtual_rdtsc = "false"

I see my VM stops at 'vmx VNET: MACVNetLinkStateTimerHandler: 'ethernet0' state from 1 to 5.'.
but I am not sure it relates this symptom or not.

2021-11-30T07:03:53.111Z In(05) vcpu-0 pciBridge7:6: ISA/VGA decoding enabled (ctrl 0004)
2021-11-30T07:03:53.111Z In(05) vcpu-0 pciBridge7:7: ISA/VGA decoding enabled (ctrl 0004)
2021-11-30T07:03:53.114Z In(05) vcpu-0 UHCI: HCReset
2021-11-30T07:03:55.846Z In(05) vmx VNET: MACVNetLinkStateTimerHandler: 'ethernet0' state from 1 to 5.
2021-11-30T07:04:04.013Z In(05) vmx Vix: [vmxCommands.c:558]: VMAutomation_InitiatePowerOff. Trying hard powerOff

The below is capture file when I monitor vmware.log by the tail command.

Screenshot (1175).png

 

Please let me know if you need to check other setting.

Best regards,

Reply
0 Kudos
bluefirestorm
Champion
Champion

Coffee Lake is newer than Broadwell, so it has the RDRAND instruction. If the application can use RDRAND instead of haveged, it might obviate the need for disabling the virtual rdtsc.

From the vmware.log you can also see the rdrand is exposed to the VM

2021-11-30T07:03:43.752Z In(05) vmx   RDRAND exiting                           {0,1}

2021-11-30T07:03:44.063Z In(05) vmx Capability Found: cpuid.rdrand = 1

2021-11-30T07:03:44.064Z In(05) vmx VM Features Required: cpuid.rdrand - Bool:Min:1

2021-11-30T07:03:44.067Z In(05) vmx   RDRAND exiting                           {0,1}

You can also see it in the CentOS VM, /proc/cpuinfo 

cat /proc/cpuinfo | grep rdrand

Mntn
Contributor
Contributor

Hello Wil,

Thank you very much for your help. I see rdrand in the output of the /proc/cpuinfo and will ask person who work my application.

[root@localhost tk]# cat /proc/cpuinfo|grep rdrand
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities

Best regards,

Reply
0 Kudos
Mark9755
Contributor
Contributor

The VM should have access to the RDRAND instruction. TelltheBell

As the out put of the 'About' Windows 10, CPU is Intel(R) Core(TM) i7-9850H (Coffee Lake, Mobile processor).

 

Tags (1)
Reply
0 Kudos
wila
Immortal
Immortal

Hi @Mntn 

@bluefirestorm is not me, but you are in good hands with their advice 🙂

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
Reply
0 Kudos
Mntn
Contributor
Contributor

Hi Wil,

Sorry I mistook.

Regards,

Reply
0 Kudos
Mntn
Contributor
Contributor

Hi bluefirestorm,

I understand how to check it. Thank you for your help.

Regards,

Reply
0 Kudos