[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b040c32a0704121808u63dd169bhecba2a0596a546eb@mail.gmail.com>
Date: Thu, 12 Apr 2007 18:08:56 -0700
From: "Ken Chen" <kenchen@...gle.com>
To: "Jeff Moyer" <jmoyer@...hat.com>
Cc: "Zach Brown" <zach.brown@...cle.com>, akpm@...ux-foundation.org,
linux-aio@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [patch] convert aio event reap to use atomic-op instead of spin_lock
On 4/12/07, Ken Chen <kenchen@...gle.com> wrote:
> On 4/12/07, Jeff Moyer <jmoyer@...hat.com> wrote:
> > I didn't see any response to Zach's request for code that actually
> > tests out the shared ring buffer. Do you have such code?
>
> Yes, I do. I was stress testing the code since last night. After 20+
> hours of stress run with fio and aio-stress, now I'm posting it with
> confidence.
>
> I modified libaio's io_getevents to take advantage of new user level
> reap function. The feature is exported out via ring->compat_features.
> btw, is compat_feature suppose to be a version number or a bit mask?
> I think bitmask make more sense and more flexible.
Additional patch on the kernel side to export the new features. On
top of patch posted at:
http://marc.info/?l=linux-kernel&m=117636401818057&w=2
--- a/include/linux/aio.h
+++ b/include/linux/aio.h
@@ -138,8 +138,11 @@ #define init_sync_kiocb(x, filp) \
init_wait((&(x)->ki_wait)); \
} while (0)
+#define AIO_RING_BASE 1
+#define AIO_RING_USER_REAP 2
+
#define AIO_RING_MAGIC 0xa10a10a1
-#define AIO_RING_COMPAT_FEATURES 1
+#define AIO_RING_COMPAT_FEATURES (AIO_RING_BASE | AIO_RING_USER_REAP)
#define AIO_RING_INCOMPAT_FEATURES 0
struct aio_ring {
unsigned id; /* kernel internal index number */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists