shm: disable iomem=shm* for shm disabled
authorJens Axboe <axboe@fb.com>
Wed, 21 Jan 2015 01:38:11 +0000 (18:38 -0700)
committerJens Axboe <axboe@fb.com>
Wed, 21 Jan 2015 01:38:11 +0000 (18:38 -0700)
Signed-off-by: Jens Axboe <axboe@fb.com>
memory.c

index f81c2dd44aabaf937dd5db3b88c10a0cd6a992ca..23a0d94b73e3d353b61044fe85149dfda4e59f55 100644 (file)
--- a/memory.c
+++ b/memory.c
@@ -63,6 +63,7 @@ int fio_pin_memory(struct thread_data *td)
 
 static int alloc_mem_shm(struct thread_data *td, unsigned int total_mem)
 {
+#ifndef CONFIG_NO_SHM
        int flags = IPC_CREAT | S_IRUSR | S_IWUSR;
 
        if (td->o.mem_type == MEM_SHMHUGE) {
@@ -104,15 +105,21 @@ static int alloc_mem_shm(struct thread_data *td, unsigned int total_mem)
        }
 
        return 0;
+#else
+       log_err("fio: shm not supported\n");
+       return 1;
+#endif
 }
 
 static void free_mem_shm(struct thread_data *td)
 {
+#ifndef CONFIG_NO_SHM
        struct shmid_ds sbuf;
 
        dprint(FD_MEM, "shmdt/ctl %d %p\n", td->shm_id, td->orig_buffer);
        shmdt(td->orig_buffer);
        shmctl(td->shm_id, IPC_RMID, &sbuf);
+#endif
 }
 
 static int alloc_mem_mmap(struct thread_data *td, size_t total_mem)