[ https://issues.apache.org/jira/browse/CASSANDRA-11576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15329851#comment-15329851 ]
Joshua McKenzie commented on CASSANDRA-11576: --------------------------------------------- Correct me if I'm wrong, but referencing [this page|http://lxr.free-electrons.com/source/include/asm-ppc/mman.h?v=2.4.37#L26] (or [this|http://lxr.free-electrons.com/source/arch/powerpc/include/uapi/asm/mman.h#L23] for 4.6 kernel), it looks like MCL_CURRENT and MCL_FUTURE on PPC are defined as: {noformat} 26 #define MCL_CURRENT 0x2000 /* lock all currently mapped pages */ 27 #define MCL_FUTURE 0x4000 /* lock all additions to address space */ {noformat} As those are hexadecimal values, the following code would be incorrect: {noformat} if (System.getProperty("os.arch").toLowerCase().contains("ppc")) { if (System.getProperty("os.name").toLowerCase().contains("linux")) { MCL_CURRENT = 020000; MCL_FUTURE = 040000; } {noformat} I haven't dug into the aix values. > Add support for JNA mlockall(2) on POWER > ---------------------------------------- > > Key: CASSANDRA-11576 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11576 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: POWER architecture > Reporter: Rei Odaira > Assignee: Rei Odaira > Priority: Minor > Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x > > Attachments: 11576-2.1.txt > > > org.apache.cassandra.utils.CLibrary contains hard-coded C-macro values to be > passed to system calls through JNA. These values are system-dependent, and as > far as I investigated, Linux and AIX on the IBM POWER architecture define > {{MCL_CURRENT}} and {{MCL_FUTURE}} (for mlockall(2)) as different values than > the current hard-coded values. As a result, mlockall(2) fails on these > platforms. > {code} > WARN 18:51:51 Unknown mlockall error 22 > {code} > I am going to provide a patch to support JNA mlockall(2) on POWER. -- This message was sent by Atlassian JIRA (v6.3.4#6332)