Date: Mon, 14 May 2012 21:23:11 +0200 From: =?ISO-8859-1?Q?Fredrik_Sik=E9n?= <fredrik.siken@gmail.com> To: freebsd-arm@freebsd.org Subject: 13x longer execution times before remount Message-ID: <CAGh%2B35MFtuDFjMkkHV%2B=X4g4uWmkG0AyJxdutFMwxfve-pUwqg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, I've an 8.2-Release running on an ARM with poor execution performance before a remount is performed. The scenario is as follows 0) I mount an UFS SSD disk # mount -o noclusterr -o noclusterw /dev/ad0s1 /mnt/ 1) I copy an executable to an UFS mounted SSD disk and measure its time of execution from start to stop 2) I remount the system (umount/mount) 3) I perform the same steps as in 1) but now with a performance increase of 13x Other tests performed: - Tested on a UFS USB stick with the same behaviour - Tested to write to an NFS mounted disk and this gives the expected behaviour - the same time before and after a remount. - Running the same version on a x86 gives the expected behaviour - the same time before and after a remount. Results after file is copied but before a remount # time ./test 10000 1000000 size = 10000, no = 1000000 133.000u 0.000s 2:13.53 99.8% 3282+18575k 0+0io 0pf+0w Results after a remount # time ./test 10000 1000000 size = 10000, no = 1000000 7.000u 0.000s 0:07.82 99.8% 3286+18595k 0+0io 0pf+0w The test application source looks like this #include <string.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char **argv) { int size = atoi(argv[1]); int no = atoi(argv[2]); printf("size = %d, no = %d\n", size, no); { int i; for(i = 0 ; i<no ; i++) { char *p = malloc(size); memset(p, 0, size); free(p); } } } Thanks, Fredrik
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGh%2B35MFtuDFjMkkHV%2B=X4g4uWmkG0AyJxdutFMwxfve-pUwqg>