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