2 cores at 0%

Hey,

I took a fresh flashed Jetson TX2 device (Jetpack 4.4) and activated all cores sudo nvpmodel -m 0.
After that, all 6 cores were displayed in htop, but core 2 and 3 are always at 0%. What can go wrong there?

You might want to look at this URL:
https://devtalk.nvidia.com/default/topic/1000345/jetson-tx2/two-cores-disabled-/post/5110960/#5110960

I forget the details, but there are cases where the Denver cores are not enabled by default. They can be enabled, but some of the nvpmodel levels which would normally enable those cores by default may no longer do so without manual intervention. There was another thread specifically about that, but I can’t seem to find a URL reference for it.

Maybe the post @Linuxdev mentioned was this one:

1 Like

Hi,
Please take a look at
https://elinux.org/Jetson/L4T/r32.4.x_patches
[TX2] Denver cores not working on TX2

Thanks. Setting the affinity works.
Did I understand that right? " Increased Kernel Launch Latency on Denver 2 Cores"
You hinder Linux to schedul processes on Denver cores, since that increased the time needed to boot Linux?

Is there a way to allow Linux to normally schedule processes on the denver cores after boot finished?

According to the instructions in this comment Cannot enable denver cores for TX2 (Jetpack 4.4 DP)

1. sudo vim p2771-0000.conf.common
2. Remove “isolcpus=1-2”:
    CMDLINE_ADD=“console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0”;
3. Flash kernel-dtb:
    $ sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1

I can activate the denver cores by modifying the device tree.

If I do this, do I delete anything on my Jetson? I ask because it is a lot of work to install the stuff I installed there.

Hi,
If you would like to have tasks be scheduled to the two Denver cores, please do

The file already has an isoplus argument:
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2
Should I remove the existing one or just append?

case 1:
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=

case 2:
APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 isolcpus=1-2 isoplus=
?

Hi,
The issue is present if you install SDK components(including CUDA, TensorRT, …) through SDKManager or do OTA update. If you don’t need the packages, the step is not required. Please check

FYI, the last argument for isolcpus is the one which will take effect. If that argument is “isolcpus=”, without any arguments after =, then you have done the equivalent to removing the “isolcpus=1-2” argument. You can remove “isolcpus=1-2”, or you can pass “isolcpus=” as the last version of the argument, and this will do what you want. Both work.

1 Like