[ 
https://issues.apache.org/jira/browse/TS-3044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14153806#comment-14153806
 ] 

Phil Sorber commented on TS-3044:
---------------------------------

[~jplevyak]

I really like this approach. This is something I feel we should do with the 
threaded AIO as well.

A couple of comments:

Why perror here and not some ATS built in logging?
{noformat}
+      perror("io_getevents");
{noformat}

Does lowering the AIO_PERIOD make sense globally if we have a case where we may 
still not use eventfd?
{noformat}
-#define AIO_PERIOD                                -HRTIME_MSECONDS(4)
+#define AIO_PERIOD                                -HRTIME_MSECONDS(10)
--
+#ifdef HAVE_EVENTFD
+  io_set_eventfd(&op->aiocb, t->evfd);
+#endif
{noformat}

> linux native AIO should use eventfd if available to signal thread
> -----------------------------------------------------------------
>
>                 Key: TS-3044
>                 URL: https://issues.apache.org/jira/browse/TS-3044
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Cache
>            Reporter: John Plevyak
>            Assignee: Phil Sorber
>             Fix For: 5.2.0
>
>         Attachments: native-aio-eventfd.patch
>
>
> linux native AIO has the ability to signal the event thread to get off the 
> poll and service the disk via the io_set_eventfd() call.  linux native AIO 
> scales better than the thread-based IO, but the current implementation can 
> introduce delays on lightly loaded systems because of the thread is waiting 
> on epoll().   This can be remedied by using io_set_eventfd



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to