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'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. > > 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. —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 (#8202): https://lists.fd.io/g/vpp-dev/message/8202 View All Messages In Topic (3): 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 -=-=-=-=-=-=-=-=-=-=-=-