* Running git on ARM systems @ 2012-03-01 5:11 Andrew Ardill 2012-03-01 5:31 ` Steven Noonan 2012-03-01 11:12 ` solo-git 0 siblings, 2 replies; 5+ messages in thread From: Andrew Ardill @ 2012-03-01 5:11 UTC (permalink / raw) To: git Hi everyone, You may have heard of the Raspberry Pi [1], a fully programmable computer the size of a credit card for $25-$35. It will run a linux (debian/fedora/arch) distribution on a 700 MHz ARM1176JZF-S core (ARM11 family) [2]. My one of these is on order, and the first thing I intend to do is install and test git. Has anyone had any experience running git on ARM, or know if there are any potential issues? I will also try compiling on the device itself, and was wondering if there is anything I will need to do especially for that architecture. I have done a preliminary google search and nothing striking came up, so any help would be appreciated! This device was designed to try and get kids into programming, and if we are going to teach them how to hack we should give them the best tools available. Hopefully git works out of the box, but if not it would be great to get it up and running before the education launch (probably later this year). Regards, Andrew Ardill [1] http://raspberrypi.org/ [2] http://en.wikipedia.org/wiki/Raspberry_Pi#Specifications ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Running git on ARM systems 2012-03-01 5:11 Running git on ARM systems Andrew Ardill @ 2012-03-01 5:31 ` Steven Noonan 2012-03-01 5:47 ` Andrew Ardill 2012-03-01 11:12 ` solo-git 1 sibling, 1 reply; 5+ messages in thread From: Steven Noonan @ 2012-03-01 5:31 UTC (permalink / raw) To: Andrew Ardill; +Cc: git I've been using git on three different ARM boxes (TrimSlice, PandaBoard, i.MX53 Quick Start Board). It works okay, if a bit slow. Even on a small repository (< 1MB), git is a bit laggy, but that's true of most everything on those devices. It would be nice if they had decent SATA controllers so I could attach some small SSDs or something instead of relying on MicroSD or SD. I think you'll find the biggest problem you will run into is memory usage when repacking or garbage collecting, but you probably wouldn't really want to anyway (and if you do, move the whole .git dir to something that can handle a proper repack). I've never used the ARM11 processor though. My experience has been with the ARM7 and ARM9, where I was -extremely- memory constrained (4MB of RAM if I recall) and couldn't really build anything on the device itself, as well as the Cortex-A8 and Cortex-A9 -- which was a huge leap compared to the ARM7/ARM9, particularly since the newer devices have a couple orders of magnitude more memory. Would be curious to see how one of the Raspberry Pi devices does running my incomplete and silly microbenchmarking tool (https://github.com/tycho/cpu-test-arm)... Perhaps I'll order one when they're back in stock. :) Is there anything specific you wanted to know about git on such devices? - Steven On Wed, Feb 29, 2012 at 9:11 PM, Andrew Ardill <andrew.ardill@gmail.com> wrote: > > Hi everyone, > > You may have heard of the Raspberry Pi [1], a fully programmable > computer the size of a credit card for $25-$35. It will run a linux > (debian/fedora/arch) distribution on a 700 MHz ARM1176JZF-S core > (ARM11 family) [2]. > > My one of these is on order, and the first thing I intend to do is > install and test git. Has anyone had any experience running git on > ARM, or know if there are any potential issues? I will also try > compiling on the device itself, and was wondering if there is anything > I will need to do especially for that architecture. I have done a > preliminary google search and nothing striking came up, so any help > would be appreciated! > > This device was designed to try and get kids into programming, and if > we are going to teach them how to hack we should give them the best > tools available. Hopefully git works out of the box, but if not it > would be great to get it up and running before the education launch > (probably later this year). > > Regards, > > Andrew Ardill > > [1] http://raspberrypi.org/ > [2] http://en.wikipedia.org/wiki/Raspberry_Pi#Specifications > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Running git on ARM systems 2012-03-01 5:31 ` Steven Noonan @ 2012-03-01 5:47 ` Andrew Ardill 2012-03-01 6:56 ` Steven Noonan 0 siblings, 1 reply; 5+ messages in thread From: Andrew Ardill @ 2012-03-01 5:47 UTC (permalink / raw) To: Steven Noonan; +Cc: git On 1 March 2012 16:31, Steven Noonan <steven@uplinklabs.net> wrote: > I've been using git on three different ARM boxes (TrimSlice, > PandaBoard, i.MX53 Quick Start Board). It works okay, if a bit slow. > Even on a small repository (< 1MB), git is a bit laggy, but that's > true of most everything on those devices. It would be nice if they had > decent SATA controllers so I could attach some small SSDs or something > instead of relying on MicroSD or SD. I think you'll find the biggest > problem you will run into is memory usage when repacking or garbage > collecting, but you probably wouldn't really want to anyway (and if > you do, move the whole .git dir to something that can handle a proper > repack). > > I've never used the ARM11 processor though. My experience has been > with the ARM7 and ARM9, where I was -extremely- memory constrained > (4MB of RAM if I recall) and couldn't really build anything on the > device itself, as well as the Cortex-A8 and Cortex-A9 -- which was a > huge leap compared to the ARM7/ARM9, particularly since the newer > devices have a couple orders of magnitude more memory. > > Would be curious to see how one of the Raspberry Pi devices does > running my incomplete and silly microbenchmarking tool > (https://github.com/tycho/cpu-test-arm)... Perhaps I'll order one when > they're back in stock. :) > > Is there anything specific you wanted to know about git on such devices? It's good to hear that git has worked on these devices. Did you compile it for them especially, and if so what did you have to do? The RPi will have 256M ram, which is significantly better than what you have been working with. I think my first real goal will be to compile git on it. Hopefully it will be flawless! In terms of running git on these devices, are there any limitations to the functionality, barring memory constraints? The device will also have USB ports, and I imagine the two most common use cases will have the working directory on SD card and on USB hard drive. I wonder how git will perform comparatively on each. Regards, Andrew Ardill ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Running git on ARM systems 2012-03-01 5:47 ` Andrew Ardill @ 2012-03-01 6:56 ` Steven Noonan 0 siblings, 0 replies; 5+ messages in thread From: Steven Noonan @ 2012-03-01 6:56 UTC (permalink / raw) To: Andrew Ardill; +Cc: git On Wed, Feb 29, 2012 at 9:47 PM, Andrew Ardill <andrew.ardill@gmail.com> wrote: > On 1 March 2012 16:31, Steven Noonan <steven@uplinklabs.net> wrote: >> I've been using git on three different ARM boxes (TrimSlice, >> PandaBoard, i.MX53 Quick Start Board). It works okay, if a bit slow. >> Even on a small repository (< 1MB), git is a bit laggy, but that's >> true of most everything on those devices. It would be nice if they had >> decent SATA controllers so I could attach some small SSDs or something >> instead of relying on MicroSD or SD. I think you'll find the biggest >> problem you will run into is memory usage when repacking or garbage >> collecting, but you probably wouldn't really want to anyway (and if >> you do, move the whole .git dir to something that can handle a proper >> repack). >> >> I've never used the ARM11 processor though. My experience has been >> with the ARM7 and ARM9, where I was -extremely- memory constrained >> (4MB of RAM if I recall) and couldn't really build anything on the >> device itself, as well as the Cortex-A8 and Cortex-A9 -- which was a >> huge leap compared to the ARM7/ARM9, particularly since the newer >> devices have a couple orders of magnitude more memory. >> >> Would be curious to see how one of the Raspberry Pi devices does >> running my incomplete and silly microbenchmarking tool >> (https://github.com/tycho/cpu-test-arm)... Perhaps I'll order one when >> they're back in stock. :) >> >> Is there anything specific you wanted to know about git on such devices? > > It's good to hear that git has worked on these devices. Did you > compile it for them especially, and if so what did you have to do? Well, on the ARM7/9 4MB RAM device, I have no OS. It's actually a Nintendo DS Lite with no real headroom for that kind of thing. :) On the newer devices, I have Linaro, with kernels I cross-compiled for each device. I found that replacing CONFIG_PREEMPT with CONFIG_PREEMPT_VOLUNTARY was necessary for decent overall performance, along with disabling CONFIG_OMAP_32K_TIMER on the OMAP4-based system. The Cortex-A8 and Cortex-A9 are based on the ARMv7 architecture and the ARM11 in your Raspberry Pi will use the ARMv6 architecture. I'm pretty sure Linaro builds ARMv7 binaries, in which case that won't be an option for you. It looks like the Raspberry Pi will be supported by Debian, though, so the instructions whether you used Linaro or Debian would be basically the same: just 'apt-get install git' and you should be ready to rock. If you really want to build it, you can. It just takes a while. Be prepared to go grab a snack while you wait for it to finish things. Here's how long things took on my OMAP4430 (PandaBoard): snoonan@nerva ~/Development $ time git clone git://git.uplinklabs.net/scm/git/snoonan/mirrors/git.git Cloning into git... remote: Counting objects: 155044, done. remote: Compressing objects: 100% (38100/38100), done. remote: Total 155044 (delta 115235), reused 154745 (delta 114946) Receiving objects: 100% (155044/155044), 34.93 MiB | 5.05 MiB/s, done. Resolving deltas: 100% (115235/115235), done. real 1m10.960s # NOTE: Most of this was the "Resolving deltas" stage (7-ish seconds to clone [from a server on LAN], 63-ish seconds for deltas). user 0m59.260s sys 0m6.860s snoonan@nerva ~/Development $ cd git snoonan@nerva ~/Development/git $ time make -j2 V=1 >/dev/null GIT_VERSION = 1.7.9.2.323.gf051a * new build flags or prefix * new link flags Writing perl.mak for Git 14 translated messages. GITGUI_VERSION = 0.16.0 * new locations or Tcl/Tk interpreter 520 translated messages. 381 translated messages, 4 fuzzy translations, 6 untranslated messages. 520 translated messages. 514 translated messages. 519 translated messages, 1 untranslated message. 520 translated messages. 474 translated messages, 39 untranslated messages. 520 translated messages. 516 translated messages, 4 untranslated messages. 521 translated messages. 366 translated messages, 7 fuzzy translations, 17 untranslated messages. 289 translated messages. 200 translated messages, 7 untranslated messages. 276 translated messages, 4 fuzzy translations. 288 translated messages. 283 translated messages, 6 untranslated messages. 284 translated messages. 290 translated messages. 245 translated messages. 290 translated messages. real 6m15.970s user 10m13.280s sys 0m57.640s snoonan@nerva ~/Development/git $ So 6 minutes, 16 seconds with 2 make jobs. Compared to other platforms I have on hand... 'make -j16' on an i7-2600K (3.4GHz, 4-core, 8-thread): real 0m15.428s user 1m33.691s sys 0m10.416s 'make -j64' on a dual Xeon X5670 (2.93GHz, 12-core, 24-thread): real 0m7.647s user 1m52.219s sys 0m12.173s So it's only 25x as long as the i7 and 50x as long as the Xeon. Not -terrible-, but obviously not competitive either. :) Also, I'd recommend skipping builds of the documentation (man pages, etc). It's a -very- slow and memory-hungry process. Even on the Xeon box it takes a while with 'make -j64 doc': real 0m27.726s user 9m33.256s sys 0m25.014s 'make -j128 test' is longer still (again, dual Xeon box): real 1m42.696s user 3m9.611s sys 1m43.343s So if it takes this long on super high-end Intel boxes, consider how long it would take on an ARM box. Probably want to avoid the 'doc'/'man'/'test' targets! > The RPi will have 256M ram, which is significantly better than what > you have been working with. I think my first real goal will be to > compile git on it. Hopefully it will be flawless! Oops, sorry, I wasn't really clear. The ARM7+ARM9 system had 4MB of RAM, but my new ARM systems have at least 512MB each (I think one has 2GB and the others have 1GB). > In terms of running git on these devices, are there any limitations to > the functionality, barring memory constraints? Things are generally slower, but there's nothing really breaking any functionality, AFAICT. > The device will also have USB ports, and I imagine the two most common > use cases will have the working directory on SD card and on USB hard > drive. I wonder how git will perform comparatively on each. It's hard to say. My TrimSlice has a SATA port, but it's implemented as a USB-to-SATA adapter (blech). Performance really blows on it. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Running git on ARM systems 2012-03-01 5:11 Running git on ARM systems Andrew Ardill 2012-03-01 5:31 ` Steven Noonan @ 2012-03-01 11:12 ` solo-git 1 sibling, 0 replies; 5+ messages in thread From: solo-git @ 2012-03-01 11:12 UTC (permalink / raw) To: git On Thu, Mar 01, 2012 at 04:11:16PM +1100, Andrew Ardill wrote: > Hi everyone, > > You may have heard of the Raspberry Pi [1], a fully programmable > computer the size of a credit card for $25-$35. It will run a linux > (debian/fedora/arch) distribution on a 700 MHz ARM1176JZF-S core > (ARM11 family) [2]. Then there's things like the Nokia n900 / n950 devices; 'phones with Maemo (~= Debian) on them. I've been using the git-core (installed via. apt-get) on my n900 for backups and lightweight development for ages. The main problem is the IO, in my experience, the device has 256MB of ram, but only SD-card grade storage (like the Rasberry). ARMv7, according to /proc/cpuinfo. Package: http://maemo.org/packages/view/git-core/ ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-01 11:20 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-01 5:11 Running git on ARM systems Andrew Ardill 2012-03-01 5:31 ` Steven Noonan 2012-03-01 5:47 ` Andrew Ardill 2012-03-01 6:56 ` Steven Noonan 2012-03-01 11:12 ` solo-git
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).