fsstress: reduce the number of events when io_setup
authorZorro Lang <zlang@redhat.com>
Fri, 11 Sep 2020 07:15:52 +0000 (15:15 +0800)
committerEryu Guan <guaneryu@gmail.com>
Sun, 27 Sep 2020 09:31:14 +0000 (17:31 +0800)
The original number(128) of aio events for io_setup too big. When try
to run lots of fsstress processes(e.g. -p 1000) always hit io_setup
EAGAIN error, due to the nr_events exceeds the limit of available
events. Due to each fsstress process only does once libaio read/write
operation each time. So reduce the aio events number to 1, to make more
fsstress processes can do AIO test.

Signed-off-by: Zorro Lang <zlang@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
ltp/fsstress.c

index d28fcd7..68fbf7a 100644 (file)
@@ -28,6 +28,7 @@
 #endif
 #ifdef AIO
 #include <libaio.h>
+#define AIO_ENTRIES    1
 io_context_t   io_ctx;
 #endif
 #ifdef URING
@@ -699,8 +700,8 @@ int main(int argc, char **argv)
                        }
                        procid = i;
 #ifdef AIO
-                       if (io_setup(128, &io_ctx) != 0) {
-                               fprintf(stderr, "io_setup failed");
+                       if (io_setup(AIO_ENTRIES, &io_ctx) != 0) {
+                               fprintf(stderr, "io_setup failed\n");
                                exit(1);
                        }
 #endif