[ 
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)

Reply via email to