Thank you very much for these links. We don’t have issues with using the denver cores though. We have issues with occasional SError related to using the denver cores.
We are using the following commands to setup clocking and power management:
Compared to the document you shared we are not using taskset to move a task to the denver cores but we are using /sys/fs/cgroup/cpuset/ as we want to move single threads only. We first create a new cpu-set for each denver core like this:
PATH_PREFIX=/sys/fs/cgroup/cpuset
mk_cpuset() {
name=$1
cpus=$2
# This will create serveral pseudo-files for us to communicate through.
mkdir ${PATH_PREFIX}/${name}
# Let's first set the desired cpus.
/bin/echo $cpus > ${PATH_PREFIX}/${name}/cpuset.cpus
# Set the desired flags.
/bin/echo 0 > ${PATH_PREFIX}/${name}/cpuset.mems
# Restrict the scheduler from load balancing to nearby cpus
/bin/echo 0 > ${PATH_PREFIX}/${name}/cpuset.sched_load_balance
# The rest of the pseudo-files are populated with the desired options
# Perhaps there exists other flags we can set to increase
# performace.
}
mk_cpuset "verity-rt1" "1"
mk_cpuset "verity-rt2" "2"
Then we use those cpusets by moving threads to them like this. E.g.:
Basically, we cannot directly share you why SEerrors happened by look through your commands.
If you want us to help check such issue, try to provide a method that can 100% reproduce your issue on latest BSP + NV devkit.
For TX2, the latest BSP is the rel-32.7.4 that was released recently.
And please be aware that we cannot guarantee when will the fix get ready. If they are is some files which is not open source, then you may need to wait until next release.