diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-16 22:14:52 +0200 |
---|---|---|
committer | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2018-04-20 17:07:06 +0200 |
commit | bb0882c5dad030f676e424265ebcd869bb3ff899 (patch) | |
tree | d95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-core/recipes-test/interbench | |
parent | 97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff) |
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles.
This change is part of a series of changes to create the
AGL profiles.
This set will mainly introduce the 'core' profile.
It is setup to be a drop-in change, thus some files were kept
in (dummy) locations for now.
However, they'll be taken care of in the next changes in this series.
The main target of the meta-agl-profile-core layer is to host:
- a minimal, bootable image with network and package management enabled
-- agl-image-boot
- a minimal image with network and packagemanagement and the AGL APIs
-- agl-image-minimal
The layer meta-agl-profile-graphical is used as superset of these
and includes support for egl+wayland+weston. All recipes concerning
graphics were moved there. This is not a full profile as we still have
to migrate some parts of meta-agl-demo in a follow-up changeset.
The roadmap as discussed during the F2F session in Karlsruhe is:
- week 16 : core profile and profiles w/o graphics
- week 17 : graphical profiles
- week 18 : final conversion of the demo image
v2: moved agl-login-manager from -graphics to -core (see Jose's comment)
v3: moved back after discussion - follow-up in separate changeset
Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-test/interbench')
-rw-r--r-- | meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch | 68 | ||||
-rw-r--r-- | meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb | 31 |
2 files changed, 99 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch new file mode 100644 index 000000000..c882739ba --- /dev/null +++ b/meta-agl-profile-core/recipes-test/interbench/files/interbench.c.patch @@ -0,0 +1,68 @@ +--- interbench.c.orig 2009-10-30 23:14:59.000000000 -0500 ++++ interbench.c 2012-07-10 19:06:00.000000000 -0500 +@@ -71,6 +71,7 @@ struct user_data { + char datestamp[13]; + FILE *logfile; + } ud = { ++ .ram = 0, + .duration = 30, + .cpu_load = 4, + .log = 1, +@@ -652,6 +653,8 @@ void emulate_write(struct thread *th) + terminal_error("fopen"); + if (stat(name, &statbuf) == -1) + terminal_fileopen_error(fp, "stat"); ++ if (statbuf.st_blksize < MIN_BLK_SIZE) ++ statbuf.st_blksize = MIN_BLK_SIZE; + for (i = 0 ; i < mem; i++) { + if (fwrite(buf, statbuf.st_blksize, 1, fp) != 1) + terminal_fileopen_error(fp, "fwrite"); +@@ -1136,14 +1139,17 @@ void get_ram(void) + if(!(meminfo = fopen("/proc/meminfo", "r"))) + terminal_error("fopen"); + +- ud.ram = ud.swap = 0; +- while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) +- fgets(aux,sizeof(aux),meminfo); ++ if (!ud.ram) ++ { ++ while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) ) ++ fgets(aux,sizeof(aux),meminfo); ++ } ++ ud.swap = 0; + while( !feof(meminfo) && !fscanf(meminfo, "SwapTotal: %lu kB", &ud.swap) ) + fgets(aux,sizeof(aux),meminfo); + if (fclose(meminfo) == -1) + terminal_error("fclose"); +- ++ + if( !ud.ram || !ud.swap ) { + unsigned long i; + fprintf(stderr, "\nCould not get memory or swap size. "); +@@ -1399,6 +1405,7 @@ void usage(void) + fprintf(stderr, "\t[-h]\n\n"); + fprintf(stderr, " -l\tUse <int> loops per sec (default: use saved benchmark)\n"); + fprintf(stderr, " -L\tUse cpu load of <int> with burn load (default: 4)\n"); ++ fprintf(stderr, " -M\tForce RAM size to <int>. Useful when disk is smaller than RAM.\n"); + fprintf(stderr, " -t\tSeconds to run each benchmark (default: 30)\n"); + fprintf(stderr, " -B\tNice the benchmarked thread to <int> (default: 0)\n"); + fprintf(stderr, " -N\tNice the load thread to <int> (default: 0)\n"); +@@ -1482,7 +1489,7 @@ int main(int argc, char **argv) + terminal_error("signal"); + #endif + +- while ((q = getopt(argc, argv, "hl:L:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { ++ while ((q = getopt(argc, argv, "hl:L:M:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) { + switch (q) { + case 'h': + usage(); +@@ -1496,6 +1503,9 @@ int main(int argc, char **argv) + case 'L': + ud.cpu_load = atoi(optarg); + break; ++ case 'M': ++ ud.ram = atoi(optarg); ++ break; + case 'B': + ud.bench_nice = atoi(optarg); + break; diff --git a/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb new file mode 100644 index 000000000..3e6490374 --- /dev/null +++ b/meta-agl-profile-core/recipes-test/interbench/interbench_0.31.bb @@ -0,0 +1,31 @@ +DESCRIPTION = "The Linux interactivity benchmark" +HOMEPAGE = "http://users.tpg.com.au/ckolivas/interbench/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" +SRC_URI = "http://ck.kolivas.org/apps/interbench/interbench-${PV}.tar.bz2" + +SRC_URI += "file://interbench.c.patch;striplevel=0" + +inherit autotools + +INSANE_SKIP_${PN} = "ldflags" + +B = "${S}" +EXTRA_OEMAKE = "CC='${CC}'" + +# upstream tarball contains x86_64 binaries, we need a clean source tree +do_compile() { + oe_runmake clean + oe_runmake +} + +do_install() { + install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/ + install -m 0755 ${B}/interbench ${D}${bindir} + install -m 0644 ${S}/readme* ${D}${datadir}/doc/${PN}/ + install -m 0644 ${S}/interbench.8 ${D}${mandir}/man8/ +} + +SRC_URI[md5sum] = "832254d7fd1255c548ebea7b97f01015" +SRC_URI[sha256sum] = "89d438b28aef22d26e79812762a57a9f9344a8dd8826edebfe60dad48ee1c784" + |