[DragonFlyBSD - Bug #2986] kernel panic when running fio (modified fio)

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Wed Mar 22 15:08:58 PDT 2017


Issue #2986 has been updated by tkusumi.


One correction.

> In this example 100000 MiB is the size of malloc in above diff. 

The variable for it was unsigned int, so malloc size is actually 4GiB.

----------------------------------------
Bug #2986: kernel panic when running fio (modified fio)
http://bugs.dragonflybsd.org/issues/2986#change-13084

* Author: tkusumi
* Status: New
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
After running for 1 min or so, fio threads either get killed due to oom, or vm subsystem panics.
Both can happen and neither is rare on my environment.
I'm using master.
https://leaf.dragonflybsd.org/~tkusumi/diff/fio_bs_panic.PNG

1. git clone git://git.kernel.dk/fio
2. Make following change

-----------------
# git diff
diff --git a/filesetup.c b/filesetup.c
index bcf95bd5..4579a181 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -243,6 +243,7 @@ static int pre_read_file(struct thread_data *td, struct fio_file *f)

        bs = td->o.max_bs[DDIR_READ];
        b = malloc(bs);
+       b[0] = 0xff;
        memset(b, 0, bs);

        if (lseek(f->fd, f->file_offset, SEEK_SET) < 0) {
-----------------

3. Run below. --bsrange= may need to be changed depending on ram/swap size. In this example 100000 MiB is the size of malloc in above diff.
   # ./configure
   # gmake -j8
   # rm ./xxxxx.* if exists
   # ./fio --name=xxxxx --ioengine=sync --rw=read --bs=32k --size=10m --numjobs=10 --nrfiles=10 --unlink=1 --bsrange=1k:100000m --pre_read=1



-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list