faster boot time #117

Open
Frijol opened this Issue Oct 26, 2015 · 7 comments

Comments

Projects
None yet
5 participants
@Frijol
Member

Frijol commented Oct 26, 2015

It currently takes ~30 seconds for Tessel 2 to boot up. Are there optimizations we can do to make this faster?

cc @kevinmehall for probably having good ideas

@kevinmehall

This comment has been minimized.

Show comment
Hide comment
@kevinmehall

kevinmehall Oct 26, 2015

Member

There's a list somewhere of things I was going to do to optimize this. I don't see an issue on openwrt-tessel (firmware boots in milliseconds), so I don't remember where that went. I got the low-hanging fruit, like removing the artificial delays waiting for user input in the bootloader and openwrt failsafe.

The bottleneck is mostly reading data from the SPI flash. Not sure if it will work or will help to just increase the SPI clock speed, but that's a simple tweak worth a try. That's in the devicetree (.dts) in the openwrt repo.

If you implemented DMA support for the mt7620 SPI controller in the Linux kernel, that would probably cut boot time in half, but would be rather involved and the mediatek documentation is a little lacking there. Right now the CPU does nothing useful while waiting to read data from flash.

Member

kevinmehall commented Oct 26, 2015

There's a list somewhere of things I was going to do to optimize this. I don't see an issue on openwrt-tessel (firmware boots in milliseconds), so I don't remember where that went. I got the low-hanging fruit, like removing the artificial delays waiting for user input in the bootloader and openwrt failsafe.

The bottleneck is mostly reading data from the SPI flash. Not sure if it will work or will help to just increase the SPI clock speed, but that's a simple tweak worth a try. That's in the devicetree (.dts) in the openwrt repo.

If you implemented DMA support for the mt7620 SPI controller in the Linux kernel, that would probably cut boot time in half, but would be rather involved and the mediatek documentation is a little lacking there. Right now the CPU does nothing useful while waiting to read data from flash.

@flaki

This comment has been minimized.

Show comment
Hide comment
@flaki

flaki Apr 15, 2016

Contributor

Whoah linking this in the tessel.io/start is 💯💯!! Transparency FTW! (also, sorry for the off 😊 )

Contributor

flaki commented Apr 15, 2016

Whoah linking this in the tessel.io/start is 💯💯!! Transparency FTW! (also, sorry for the off 😊 )

@Frijol Frijol added the enhancement label Sep 2, 2016

@ujjwalt

This comment has been minimized.

Show comment
Hide comment
@ujjwalt

ujjwalt Nov 25, 2016

Has there been an update on this yet?

ujjwalt commented Nov 25, 2016

Has there been an update on this yet?

@Frijol

This comment has been minimized.

Show comment
Hide comment
@Frijol

Frijol Nov 26, 2016

Member

@ujjwalt unfortunately not, but we would love your help! Would you be able to try either of @kevinmehall's suggestions above? Feedback on any attempts (successful or failed) is useful

Member

Frijol commented Nov 26, 2016

@ujjwalt unfortunately not, but we would love your help! Would you be able to try either of @kevinmehall's suggestions above? Feedback on any attempts (successful or failed) is useful

@ujjwalt

This comment has been minimized.

Show comment
Hide comment
@ujjwalt

ujjwalt Nov 26, 2016

ujjwalt commented Nov 26, 2016

@Frijol

This comment has been minimized.

Show comment
Hide comment
@Frijol

Frijol Nov 26, 2016

Member

That's something we're working on at the moment– join me on tessel.io/slack --> #learning-wg - I'm happy to discuss

Member

Frijol commented Nov 26, 2016

That's something we're working on at the moment– join me on tessel.io/slack --> #learning-wg - I'm happy to discuss

@danawoodman

This comment has been minimized.

Show comment
Hide comment
@danawoodman

danawoodman Feb 15, 2018

Any updates on this?

Any updates on this?

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