All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] iozone: new package
@ 2013-03-13 17:31 Gilles Talis
  2013-03-15 10:11 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Gilles Talis @ 2013-03-13 17:31 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Gilles Talis <gilles.talis@gmail.com>
---
 package/Config.in        |    1 +
 package/iozone/Config.in |   14 ++++++++++++++
 package/iozone/iozone.mk |   43 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 58 insertions(+), 0 deletions(-)
 create mode 100644 package/iozone/Config.in
 create mode 100644 package/iozone/iozone.mk

diff --git a/package/Config.in b/package/Config.in
index a65054c..4d1aa67 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -22,6 +22,7 @@ source "package/cache-calibrator/Config.in"
 source "package/dhrystone/Config.in"
 source "package/dstat/Config.in"
 source "package/dmalloc/Config.in"
+source "package/iozone/Config.in"
 source "package/kexec/Config.in"
 source "package/latencytop/Config.in"
 source "package/lmbench/Config.in"
diff --git a/package/iozone/Config.in b/package/iozone/Config.in
new file mode 100644
index 0000000..f07e65c
--- /dev/null
+++ b/package/iozone/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_IOZONE
+	bool "IOzone"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_LARGEFILE
+	depends on BR2_USE_MMU # fork()
+	help
+	  IOzone is a filesystem benchmark tool.
+	  The benchmark generates and measures a variety of file operations
+
+	  http://www.iozone.org/
+
+comment "IOzone requires a toolchain with LARGEFILE and threads support"
+	depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_THREADS)
+
diff --git a/package/iozone/iozone.mk b/package/iozone/iozone.mk
new file mode 100644
index 0000000..2a046bc
--- /dev/null
+++ b/package/iozone/iozone.mk
@@ -0,0 +1,43 @@
+#############################################################
+#
+# IOZONE
+#
+#############################################################
+
+IOZONE_MAJOR_VERSION = 3
+IOZONE_MINOR_VERSION = 414
+IOZONE_VERSION = $(IOZONE_MAJOR_VERSION)_$(IOZONE_MINOR_VERSION)
+
+IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar
+IOZONE_SITE = http://www.iozone.org/src/current
+IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED)
+# IOzone license details can be found at:
+# http://www.iozone.org/docs/Iozone_License.txt
+
+
+ifeq ($(BR2_arm)$(BR2_armeb),y)
+IOZONE_TARGET = linux-arm
+else ifeq ($(BR2_x86_64),y)
+IOZONE_TARGET = linux-ia64
+else ifeq ($(BR2_powerpc),y)
+IOZONE_TARGET = linux-powerpc
+else ifeq ($(BR2_sparc),y)
+IOZONE_TARGET = linux-sparc
+else
+IOZONE_TARGET = linux
+endif
+
+define IOZONE_BUILD_CMDS
+	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(IOZONE_TARGET) -C $(@D)/src/current
+endef
+
+define IOZONE_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 755 $(@D)/src/current/iozone \
+		$(TARGET_DIR)/usr/bin/iozone
+endef
+
+define IOZONE_CLEAN_CMDS
+       $(MAKE) -C $(@D)/src/current clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] iozone: new package
  2013-03-13 17:31 [Buildroot] [PATCH] iozone: new package Gilles Talis
@ 2013-03-15 10:11 ` Thomas Petazzoni
  2013-03-15 20:02   ` Gilles Talis
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2013-03-15 10:11 UTC (permalink / raw)
  To: buildroot

Dear Gilles Talis,

On Wed, 13 Mar 2013 10:31:57 -0700, Gilles Talis wrote:

> +IOZONE_MAJOR_VERSION = 3
> +IOZONE_MINOR_VERSION = 414
> +IOZONE_VERSION = $(IOZONE_MAJOR_VERSION)_$(IOZONE_MINOR_VERSION)

Any reason to split major and minor versions here? I only see
IOZONE_VERSION used below.

> +IOZONE_SOURCE = iozone$(IOZONE_VERSION).tar
> +IOZONE_SITE = http://www.iozone.org/src/current
> +IOZONE_LICENSE = IOzone license (NO DERIVED WORKS ALLOWED)
> +# IOzone license details can be found at:
> +# http://www.iozone.org/docs/Iozone_License.txt
> +
> +
> +ifeq ($(BR2_arm)$(BR2_armeb),y)
> +IOZONE_TARGET = linux-arm
> +else ifeq ($(BR2_x86_64),y)
> +IOZONE_TARGET = linux-ia64

This seems wrong IA64 is the Itanium architecture from Intel, and not
the x86-64 architecture.

> +else ifeq ($(BR2_powerpc),y)
> +IOZONE_TARGET = linux-powerpc
> +else ifeq ($(BR2_sparc),y)
> +IOZONE_TARGET = linux-sparc
> +else
> +IOZONE_TARGET = linux
> +endif

What happens for other architectures? Does it still build? What
are the differences between those per-architecture make targets?

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH] iozone: new package
  2013-03-15 10:11 ` Thomas Petazzoni
@ 2013-03-15 20:02   ` Gilles Talis
  0 siblings, 0 replies; 3+ messages in thread
From: Gilles Talis @ 2013-03-15 20:02 UTC (permalink / raw)
  To: buildroot

Dear Thomas,

>> +IOZONE_VERSION = $(IOZONE_MAJOR_VERSION)_$(IOZONE_MINOR_VERSION)
>
> Any reason to split major and minor versions here? I only see
> IOZONE_VERSION used below.
No reason. I just felt it looked neater. But you're right, I'll just
use IOZONE_VERSION.


>> +else ifeq ($(BR2_x86_64),y)
>> +IOZONE_TARGET = linux-ia64
>
> This seems wrong IA64 is the Itanium architecture from Intel, and not
> the x86-64 architecture.
Alright. I think I have to do some homework here.


>> +else ifeq ($(BR2_powerpc),y)
>> +IOZONE_TARGET = linux-powerpc
>> +else ifeq ($(BR2_sparc),y)
>> +IOZONE_TARGET = linux-sparc
>> +else
>> +IOZONE_TARGET = linux
>> +endif
>
> What happens for other architectures? Does it still build? What
> are the differences between those per-architecture make targets?
Funnily enough, the only other targets I tested were i386 and PPC64
and it could build (target = linux)
Now, it fails to build for AVR32 and MIPS, as it can't find the async
IO header file from uClibc.
IOzone can be built without aio though, using a "generic" target. Will
see how to add this one in.

Also to answer your other question, the differences lie around file
operations flags and functions (e.g usage of O_DIRECT or pread()).

Thanks
Gilles.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-15 20:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-13 17:31 [Buildroot] [PATCH] iozone: new package Gilles Talis
2013-03-15 10:11 ` Thomas Petazzoni
2013-03-15 20:02   ` Gilles Talis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.