projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'rdma-fixes' of https://github.com/dmonakhov/fio
[fio.git]
/
io_u_queue.c
diff --git
a/io_u_queue.c
b/io_u_queue.c
index 8cf4c8c3d702234a1cc0b0ba5ffee83ef3a4687a..41f98bc4fa1036496539b50ea84eb6fa51cda390 100644
(file)
--- a/
io_u_queue.c
+++ b/
io_u_queue.c
@@
-1,9
+1,15
@@
#include <stdlib.h>
#include <stdlib.h>
+#include <string.h>
#include "io_u_queue.h"
#include "io_u_queue.h"
+#include "smalloc.h"
-bool io_u_qinit(struct io_u_queue *q, unsigned int nr)
+bool io_u_qinit(struct io_u_queue *q, unsigned int nr
, bool shared
)
{
{
- q->io_us = calloc(nr, sizeof(struct io_u *));
+ if (shared)
+ q->io_us = smalloc(nr * sizeof(struct io_u *));
+ else
+ q->io_us = calloc(nr, sizeof(struct io_u *));
+
if (!q->io_us)
return false;
if (!q->io_us)
return false;
@@
-12,9
+18,12
@@
bool io_u_qinit(struct io_u_queue *q, unsigned int nr)
return true;
}
return true;
}
-void io_u_qexit(struct io_u_queue *q)
+void io_u_qexit(struct io_u_queue *q
, bool shared
)
{
{
- free(q->io_us);
+ if (shared)
+ sfree(q->io_us);
+ else
+ free(q->io_us);
}
bool io_u_rinit(struct io_u_ring *ring, unsigned int nr)
}
bool io_u_rinit(struct io_u_ring *ring, unsigned int nr)