Comments (2)
@tm-up Hi! Yes, topology parsing has been asking for refactoring for a long time ;-)
Can you post/share sysctl -qn sysctl kern.sched.topology_spec
?
Also, cpu-topology
script has nothing to do with Windows 11 problems: if Windows 11 guest requires specific CPU topology, you can use cbsd vm-cpu-topology-tui
to create custom bhyve topology and apply it via cbsd jconfig
or cbsd jconstruct-tui
or cbsd jset
(vm_cpu_topology options). Or use bhyve_flags
to pass cpu-related bhyve options as-is
.
AFAIK, Windows 11 requires for TPM ( passthru added in development CBSD version, but bhyve_flags
also usefull ). TPM emulation via https://github.com/stefanberger/swtpm still WIP.
In addition, if you use virtio
drivers on Windows, you may need to patch the bhyve, checkout https://github.com/cbsd/cbsd/tree/develop/upgrade/patch/iov-14.0 , e.g.:
cp /usr/local/cbsd/upgrade/patch/iov-14.0/patch* /usr/src/usr.sbin/bhyve/
cd /usr/src/usr.sbin/bhyve
patch < patch-usr-sbin-bhyve-block_if.h
patch < patch-usr-sbin-bhyve-virtio.c
make clean
make
make install
from cbsd.
Hi Oleg!
Many thanks for the quick response and the pointer to your virtio improvement. I will look into this.
I have played with the cbsd vm-cpu-topology-tui, I have tried 1/1/1 and 1/1/2 and 1/1/4. None worked.
Then I used the BypassTPMCheck hack to avoid the need for a TPM module.
Here is the output of sysctl -qn sysctl kern.sched.topology_spec
:
<groups>
<group level="1" cache-level="0">
<cpu count="40" mask="ffffffffff,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39</cpu>
<children>
<group level="2" cache-level="3">
<cpu count="20" mask="fffff,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19</cpu>
<flags><flag name="NODE">NUMA node</flag></flags>
<children>
<group level="3" cache-level="2">
<cpu count="2" mask="3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">0, 1</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">2, 3</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">4, 5</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">6, 7</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">8, 9</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c00,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">10, 11</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="3000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">12, 13</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">14, 15</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="30000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">16, 17</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c0000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">18, 19</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
</children>
</group>
<group level="2" cache-level="3">
<cpu count="20" mask="fffff00000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39</cpu>
<flags><flag name="NODE">NUMA node</flag></flags>
<children>
<group level="3" cache-level="2">
<cpu count="2" mask="300000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">20, 21</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c00000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">22, 23</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="3000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">24, 25</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">26, 27</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="30000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">28, 29</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c0000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">30, 31</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="300000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">32, 33</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c00000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">34, 35</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="3000000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">36, 37</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
<group level="3" cache-level="2">
<cpu count="2" mask="c000000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">38, 39</cpu>
<flags><flag name="THREAD">THREAD group</flag><flag name="SMT">SMT group</flag></flags>
</group>
</children>
</group>
</children>
</group>
</groups>
Best regards,
-Urs
from cbsd.
Related Issues (20)
- CBSD 13.2.6 does not create mount-point for /usr/home HOT 1
- Been Running cbsd for about 3 years now - I see hints there is a webui in development. HOT 1
- Debugging VM that doesn't start HOT 9
- Jails with baserw=0 upgrade 13.2 -> 14.0 issue: error while logging to jail HOT 4
- Module installation inside a jail HOT 1
- "unexpected operator" when executed in folder with space HOT 1
- Semi broken jail after base upgrade HOT 4
- Страница недосягаема кода использую префикс в настройках клетки HOT 3
- Invalid content inside state_time HOT 1
- Error Running: cbsd module mode=install clonos-database HOT 1
- Problem with importing archive img to bhyve HOT 3
- custom jail creation profile is not listed in jconstruct-tui HOT 1
- 14.0.5 - cbsd_md5: not found HOT 1
- bhyve pci passthrough HOT 4
- cbsd expose clears host's existing pf rules HOT 3
- I want to compile ports in jail, but the path is read-only. HOT 1
- Latest FreeBSD 14.0-RELEASE-p6 when rebooting the host, majority of the jails come up with no networking. HOT 5
- Unable to install pkg from pkglist with vnet and DHCP HOT 2
- jail: JailName: unknown parameter: allow.nfsd HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cbsd.