How to test a syscall prior to compiling the kernel

Greg KH greg at kroah.com
Wed Jun 4 18:14:45 EDT 2014


On Wed, Jun 04, 2014 at 03:02:02PM -0400, Andev wrote:
> On Wed, Jun 4, 2014 at 2:33 PM, Andev <debiandev at gmail.com> wrote:
> > On Wed, Jun 4, 2014 at 1:56 PM,  <Valdis.Kletnieks at vt.edu> wrote:
> >>
> >> The trick to remember is that you probably don't want to use the ramdisk
> >> as the permanent host, so...
> >>
> >> 1) Setup your git tree on permanent storage
> >> 2) Set up your ramdisk
> >> 3) cd /my/source/tree
> >> 4) tar -c --exclude=.git -f - . | (cd /mnt/ramdisk && tar -xvf -)
> >>
> >> then cd /mnt/ramdisk and start building.  Remember if you make changes to
> >> copy them back to /my/source/tree :)
> >>
> >> (The --exclude=.git will avoid copying about 900M onto the ramdisk.  Skip that
> >> if you need the git history on the ramdisk for doing a bisect or similar)
> >
> > Thanks Valdis for the instructions.
> >
> > So I tried the following to mount a tmpfs
> >
> > $ sudo mount -t tmpfs -o size=2000m tmpfs ./ramlinux/
> > $ tar -c --exclude=.git -f - . | (cd ~/ramlinux && tar -xvf -)
> >
> > And it works fine. I am not sure if tmpfs has any advantages over ramdisk.
> >
> 
> So I might have jumped the bullet on saying that it works fine. I see
> no difference between the compilation speed on native disk vs tmpfs.

Then perhaps disk I/O is not your limiting factor, but compute power is.

> For a defconfig this is the time I get:
> 
> real    6m35.407s
> user    10m3.734s
> sys    1m0.514s

I don't know your hardware setup, but that seems a bit slow, are you
building with all processors "full"?  You should always add 
-j NUMBER" to your kernel make command, where NUMBER is 2x the number of
CPUs you have in the box.

Good luck,

greg k-h



More information about the Kernelnewbies mailing list