Hi all,

This past weekend (which coincided with the start of my vacation) I
have decided to spend a day to see if I can get VPP to compile and run
on Raspberry Pi.

After a few cuts with a blunt pen knife, I got it working - it
compiles entirely
on RPi 3 itself and I can get it to the "make run", create tap
interfaces, and ping the linux side. Other than also testing VAT (it
works. I could create a couple of ACLs/assign them to interfaces) I
did not yet test anything more sophisticated, so - no warranties
whatsoever ! :-)

I had a "real" HDD mounted as a checkout root - not sure how well it
would work using the flash,
but probably should not be a problem. The only other thing worth
mentioning - I learned RPi has a "thermometer" onscreen display sign,
during the compile :-) The temperature of the CPU has reached 84C (aka
"don't touch!"), that was *with* the heatsink. So, ensure you have a
good heat sink !

I've captured the current state of my experiments here:

https://gerrit.fd.io/r/#/c/10487/

I boot the RPi with the additional "isolcpus=2,3" on the kernel
command line. I didn't test yet without that change. For the rest -
it's a vanilla Raspbian Lite image.

One note: reading the archives / wiki
(https://wiki.fd.io/view/VPP/Alternative_builds),
I saw the mention of the kernel module. When I ran the code with it, I
saw very flaky behavior,
and frequent lockups/crashes.

My debugging concluded that probably having the rdtsc deltas over a
one second interval
vary more than 10x over the consecutive periods of time is what makes
the timer code very unhappy. Not sure if this is specific to the
hardware I have or to the way it works in RPi in general.

Anyway, I found a way to create a very crude but more stable
replacement - RPi appears to have a 64-bit 1Mhz free-running
timer/counter. Multiply that value by 1200... With that there were no
more mysterious instabilities/crashes. As a bonus - no need to load
the kernel module, so the process is simpler. Probably the performance
implications of that for running on Pi will be nontrivial, but it is
surely better than crashing.

Next 2.5 weeks I won't hack on this further (sightseeing/skiing will
take precedence - vacation!), so figured I'll use this time to hear
what you all think :-)

--a

-=-=-=-=-=-=-=-=-=-=-=-
Links:

You receive all messages sent to this group.

View/Reply Online (#8196): https://lists.fd.io/g/vpp-dev/message/8196
View All Messages In Topic (1): https://lists.fd.io/g/vpp-dev/topic/11145503
Mute This Topic: https://lists.fd.io/mt/11145503/21656
New Topic: https://lists.fd.io/g/vpp-dev/post

Change Your Subscription: https://lists.fd.io/g/vpp-dev/editsub/21656
Group Home: https://lists.fd.io/g/vpp-dev
Contact Group Owner: vpp-dev+ow...@lists.fd.io
Terms of Service: https://lists.fd.io/static/tos
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to