Andrew, > -----Original Message----- > From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Andrew > Yourtchenko > Sent: Tuesday, February 13, 2018 10:29 PM > To: vpp-dev@lists.fd.io > Cc: vpp-dev@lists.fd.io > Subject: Re: [vpp-dev] Experiments in compiling and running VPP on > Raspberry Pi (32-bit) > > Hi Christophe, > > > On 13 Feb 2018, at 21:50, Christophe Fontaine > <christophe.fonta...@enea.com> wrote: > > > > Hi Andrew ! > > > > Happy to see someone else tried to play with the rpi ;) > > I wanna try VPP in my home network, but don’t have a lot of b/w (just > 2x50mbps with two ISPs), I am very strict about the power consumption for > the “always on” gadgets, that’s the motivation to try to squeeze it on > something small and see what happens :-) >
I did the same initially, but for a lot of reasons (the main one being my better half didn't want to have to many stuff below the TV ) I switched to a unique x86 based micro server > > I'm guilty for the initial work 1 year ago, but as you saw, I did not tried > > to > keep up with the development. > > Your work was of big help to get started, thanks a lot ! :-) though I could > not > dig enough into the archive to see whether “arm32” platform was specific to > RPi or it was something more generic, so I went with a new platform file. > I tried to be as hardware independent as possible, but I tried on only 2 platforms: - rpi 2 - nvidia tegra tk1 > > > > For the rpi timercode, it was mainly to have something standard, based > > on the aarch32 arch, but one thing worth mentioning is that I used a > > rpi2 (which is not a aarch64 running in aarch32 mode.) But this does > > not exclude a specific mess-up from my side ;) > > Oh, if you still have the h/w, would be curious to compare whether you also > can observe this discrepancy in time... on my RPi3 with the kernel module, > the “make run” would sporadically hang/crash, and since that was the timer, I > just made a cycle taking the clib_cpu_time_now(), doing sleep(1), taking > another time, and printing the difference... maybe the behavior somehow > has changed inbetween. > Of course: I even have a rpi3 now, so I should be able to reproduce the bug you saw. Even if I can't guarantee I can spend some time this week on this, I'll do my best to test it next week. But feel free to send me a reminder. Christophe > —a > > > > > Christophe > > > > -----Original Message----- > > From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of > > Andrew Yourtchenko > > Sent: Tuesday, February 13, 2018 6:29 PM > > To: vpp-dev@lists.fd.io > > Subject: [vpp-dev] Experiments in compiling and running VPP on > > Raspberry Pi (32-bit) > > > > 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 (#8203): https://lists.fd.io/g/vpp-dev/message/8203 View All Messages In Topic (4): 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 -=-=-=-=-=-=-=-=-=-=-=-