How to change the kernel version of Tegra K1 for perf version matching

I want to use perf (in package linux-tools) to monitor the cache misses of my binary executable file.

But I have encountered a problem :
The version of linux-tools needs to be the same as the kernel version.

The kernel version on my TK1 is 3.10.24, and the newest release TK1 kernel source is 3.10.40.
But the linux-tools package I can found are all 3.11.xx or 3.13.xx

I am wondering that can I change the kernel using kernel sources from other linux os?

Or is there any suggestion for me?
I need to monitor the cache miss (rate) of my process.

(BTW, I have tried the official Tegra System Profiler. But there seems to be some problems, cause it kept give me msgs like the device doesn’t support profiling. I have trouble debugging this error from the official website.)

I believe there are code changes to the provided 3.10.24 and 3.10.40 kernels in support of Jetson. Going to a newer kernel release would involve a lot of work compared to just reconfiguring existing kernels. In some cases I think the Grinch kernel back-ported wireless device code which goes beyond simply building existing drivers, although I’m not positive about that (Santyago woud have to answer that). I’m sure even the Grinch kernel took a lot of effort beyond just a reconfiguration.

If you could get the source code to your perf program and compile this instead against the existing kernel you’d probably have a better chance than building one of the newer kernels (entire kernels are far different than a user-land app). There is still a chance that some of the changes to existing kernels for Jetson would interfere with a stock recompile of the perf app…cache monitoring is very up and close to the internals of the hardware and kernel where slight code changes could be an issue.

In the case of an issue with Tegra System Profiler there is a good chance that reporting the issue would get nVidia’s attention and end up with a fix. I’d suggest that you provide the steps taken with the profiler and what the errors or issues were…this would be recommended even if you had a working perf tool.

I cloned the linux directory from github, and build perf on the device.
It works!

And I will try to send an issue about the Tegra System Profiler, too.

Thanks for ur help!

Hi sting47. Which linux directory did you clone?My kernel source is 3.10.40. I need to run perf as well.

Thanks

@sting47
I want to help you get Tegra System Profiler up and running with your Jetson TK1.

I’m going to ask you a few questions, and I will PM you a diagnostics script that can help us identify the problem.

  1. What is your host OS (Windows/Linux/OSX)?
  2. Which version of JetPack you are using?
  3. Which version of Tegra System Profiler is running (Help→About)?

Hi guys,

I am also trying to install perf on the jetson tk1. Do you mind outlining the exact steps needed to install perf? I am new to all of this and I unfortunately require exact instructions. Sorry! :)

Alternatively, I could use the Tegra System Profiler 2.3 which is beta for the Jetson TK1. But I can’t find any documentation about how to install it and use it. Am I just looking in the wrong places?

I believe it’s installed on the host machine as part of the JetPack installation: https://developer.nvidia.com/jetson-tk1-development-pack

There’s a standalone installer as well apparently, but you need to be a registered developer to download it: https://developer.nvidia.com/gameworksdownload#?search=tegra%20system%20profiler

By the way, it looks like TSP needs to be run from a host machine, there’s no way that I can find to run it directly from the board.