Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux_tegra: init #31452

Closed
wants to merge 1 commit into from
Closed

linux_tegra: init #31452

wants to merge 1 commit into from

Conversation

dhess
Copy link
Contributor

@dhess dhess commented Nov 9, 2017

(Requesting review from @dezgeg)

Motivation for this change

This tracks the kernel.org kernel for Nvidia's ARM-based Tegra SoCs and dev boards. Tegra fixes and enhancements are often available here long before they're merged into the mainline kernel.

I've been running this kernel on both an Nvidia Jetson TK1 and a Jetson TX1 for several months. The machines are armv7l-linux and aarch64-linux build servers, respectively, for my NixOps deployments, and have been under occasional very heavy load with no issues. (The TK1's built-in NIC does hang from time to time, but this also happens on the mainline kernel. It appears to be an issue with the RealTek chipset, not a Tegra-specific problem. I have replaced it with an ASIX-based USB 3.0 Ethernet adapter, which works great.)

The TX1's filesystem is hosted on an NVMe device on PCIe riser card, which is nice. (The TK1 runs off an SD card.)

Unfortunately, this kernel does not yet work on my Jetson TX2, but I will continue trying new versions until I can get one that does.

Note that the linux-tegra fork updates fairly infrequently, and often with many commits at once. The particular revision used in this commit is a few months old. The latest linux-tegra changes as of a few days ago did not work for me, but I try new ones from time to time and am willing to continue maintaining this derivation as long as I'm running NixOS on Jetsons, which should be for the foreseeable future.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

This tracks the kernel.org kernel for Nvidia's ARM-based Tegra SoCs
and dev boards. Tegra fixes and enhancements are often available here
long before they're merged into the mainline kernel.
@Mic92
Copy link
Member

Mic92 commented Nov 10, 2017

cc @dezgeg

@dezgeg
Copy link
Contributor

dezgeg commented Nov 16, 2017

Packaging this sort of repo worries me a bit. Specifically, I'm under the assumption that Thierry can rebase it at will, which could potentially make old git hashes unreachable...

@dhess
Copy link
Contributor Author

dhess commented Nov 16, 2017

@dezgeg I don't think that happens with linux-tegra, only with linux-thierry.

But I don't object, it's easy enough for me to just keep using this as an overlay. Shall I close the PR, then?

@dezgeg
Copy link
Contributor

dezgeg commented Nov 16, 2017

At least when I tried in my kernel repo, git fetch for me said for-next got rebased since I last fetched it:

From git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux
 * [new branch]                for-4.14/arm/core              -> tegra/for-4.14/arm/core
...etc...
 * [new branch]                for-4.15/thermal               -> tegra/for-4.15/thermal
 + 07bb9460b188...ec0c973f47c7 for-next                       -> tegra/for-next  (forced update)

@dhess
Copy link
Contributor Author

dhess commented Nov 16, 2017

@dezgeg Ahh, ok. As I said, it's been awhile since I updated the git rev anyway as later versions didn't work for me, and I guess I'd forgotten that it happens sometimes.

Fair enough, I'll close this PR.

@dhess dhess closed this Nov 16, 2017
@dezgeg
Copy link
Contributor

dezgeg commented Nov 22, 2017

@dhess BTW, if you do want to test some experimental Tegra stuff, the cpufreq patches for the TX1 landed on the mailing list a few days ago, here's them in a branch: https://github.com/dezgeg/linux/commits/tx1-cpufreq with the corresponding nixpkgs hack: dezgeg@3c62787.

openssl speed rsa2048 goes from:

Doing 2048 bit private rsa's for 10s: 644 2048 bit private RSA's in 10.02s
Doing 2048 bit public rsa's for 10s: 26876 2048 bit public RSA's in 9.99s

to:

Doing 2048 bit private rsa's for 10s: 1757 2048 bit private RSA's in 10.00s
Doing 2048 bit public rsa's for 10s: 74352 2048 bit public RSA's in 9.99s

Also I keep around a hack patch for the TK1 that boosts the eMMC performance quite a bit: dezgeg@c97e3ef (unfortunately, upstream backed away from enabling the stuff since it breaks suspend-to-RAM sometimes and nobody's looked into fixing that).

@dhess
Copy link
Contributor Author

dhess commented Nov 22, 2017

@dezgeg Wow, nice improvement!

Do you know if anything major for TX2 went into 4.14? I want to get mine going in NixOS but I've had no luck so far, even with the -tegra kernel. initrd cannot find the root device for some reason.

@dezgeg
Copy link
Contributor

dezgeg commented Nov 23, 2017

Nothing that looks related to that. eMMC support should have been there since 4.12 or so, PCIe support has patches on the list, not sure if that will make it to 4.15.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants