[ 
https://issues.apache.org/jira/browse/ARTEMIS-1977?focusedWorklogId=190177&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-190177
 ]

ASF GitHub Bot logged work on ARTEMIS-1977:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 25/Jan/19 20:46
            Start Date: 25/Jan/19 20:46
    Worklog Time Spent: 10m 
      Work Description: clebertsuconic commented on pull request #2523: 
ARTEMIS-1977 ASYNCIO can reduce sys-calls to retrieve I/O events
URL: https://github.com/apache/activemq-artemis/pull/2523#discussion_r251130524
 
 

 ##########
 File path: 
artemis-native/src/main/c/org_apache_activemq_artemis_jlibaio_LibaioContext.c
 ##########
 @@ -57,6 +57,92 @@ struct io_control {
 
 };
 
+//These should be used to check if the user_io_getevents is supported, but 
almost every modern kernel support it
+#define AIO_RING_MAGIC 0xa10a10a1
+#define AIO_RING_INCOMPAT_FEATURES     0
+//memory order relaxed/acquire/release/seq_cst x86_64 fences implementations
+#define mem_barrier() __asm__ __volatile__ ("":::"memory")
+#define read_barrier() __asm__ __volatile__("lfence":::"memory")
+#define store_barrier()        __asm__ __volatile__("sfence":::"memory")
+#define full_barrier() __asm__ __volatile__("mfence":::"memory")
+
 
 Review comment:
   Is there any documentation about this?
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 190177)
    Time Spent: 1.5h  (was: 1h 20m)

> ASYNCIO can reduce sys-calls to retrieve I/O events
> ---------------------------------------------------
>
>                 Key: ARTEMIS-1977
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1977
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.6.2
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Minor
>             Fix For: 2.7.0
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> On LibAIO is possible to retrieve the I/O completion events without 
> using io_getevents sys-calls by reading the user-space ring buffer used by the
> kernel to store them.
> This is already beneficial for very fast disks and necessary for further 
> improvements
> of ASYNCIO Journal to leverage (very) fast low-latency disks by going 
> completly
> lock-free. 
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to