Jetson TX2 Two Cores open

This bug will only occur if Jetpack version is higher than 4.3

TX2 core structure:

Jetson TX2 is composed of a GPU and a CPU cluster. The CPU cluster consists of dual-core denver2 processors and quad-core ARM Cortex-A57, connected through a high-performance interconnect architecture. With 6 CPU cores and a GPU, you don’t have to run all the performance and power consumption yourself to measure the optimal operating status, because NVIDIA’s new command line tool Nvpmodel provides 5 modes, which allows users to easily configure the CPU status to maximize Maximize performance and energy consumption in different scenarios.

But very abstractly, Jetpack 4.3 or above isolates the two cores of denver2 by default. First of all, if you want to enable it, you cannot delete the device tree on the original SD card when migrating the system.

mode     Mode Name      Denver 2     Frequency     ARM A57     Frequency     GPU Frequency
0        Max-N         2        2.0 GHz        4        2.0 GHz       1.30 Ghz
1        Max-Q         0                   4        1.2 GHz       0.85 Ghz
2        Max-P Core-All      2        1.4 GHz          4        1.4 GHz          1.12 Ghz
3        Max-P ARM         0                  4        2.0 GHz       1.12 Ghz
4        Max-P Denver      2        2.0 GHz       0             1.12 Ghz


 How did you discover this problem?

If you refer to turning on Max-N through the sudo nvpmodel -m 0 command, these two cores are only turned on, but they will not work. Only through the stress test can we find that they can work normally. Is it because Nvidia believes that Jetson only uses Can 2/3 of the threads meet the demand? Obviously not, because the jetson tx2 on the market has been discontinued, and some of the core boards circulated are quad-core core boards with cores locked, which is just a trick.

The correct way to turn on six cores:

Check the file to find isolcpus=1-2, which is the code for the default isolation core.

cat /proc/cmdline

Mine shows up as:

console=ttyS0,115200 androidboot.presilicon=true firmware_class.path=/etc/firmware root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2  video=tegrafb earlycon=uart8250,mmio32,0x3100000 nvdumper_reserved=0x2772e0000 gpt rootfs.slot_suffix= usbcore.old_scheme_first=1 tegraid=18.1.2.0.0 maxcpus=6 no_console_suspend boot.slot_suffix= boot.ratchetvalues=0.2031647.1 vpr_resize bl_prof_dataptr=0x10000@0x275840000 sdhci_tegra.en_boot_part_access=1 quiet root=/dev/sda rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2
然后更改配置文件:/boot/extlinux/extlinux.conf

sudo gedit /boot/extlinux/extlinux.conf

Remove suffix:

TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=

Note: Be sure to see clearly which disk is indicated by the green text. First of all, what we want must be the startup disk, because this is the startup configuration file.

If you use SATA expansion or M2 expansion as a boot disk, you must keep the original fileextlinux.conf

 Then sudo reboot to restart

Re-sudo nvpmodel -m 0 to enable MaxN

Perform a stress test:

stress-ng --cpu 6 --timeout 5m --cpu-method bitops

 Reference forum:

Cannot enable denver cores for TX2 (Jetpack 4.4 DP)icon-default.png?t=N3I4https://forums.developer.nvidia.com/t/cannot-enable-denver-cores-for-tx2-jetpack-4-4-dp/124708

Guess you like

Origin blog.csdn.net/weixin_62651190/article/details/130308666