[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-05 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: (was: 7432.txt)

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-05 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: 7432.txt

Update patch to check for  1.7 and  1.8 and patch = 60, or just  1.8.

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-05 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: (was: 7432.txt)

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-05 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: 7432.txt

Patch to instead compare against 1.8.0 which works on both java7 and java8.

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-04 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: 7432-v2.txt

Updated patch works correctly on java 8 by inverting the check to be less than 
1.8. (we're guaranteed at least 1.7 by previous checks)

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432-v2.txt, 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-08-04 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: (was: 7432-v2.txt)

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-07-11 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: 7432.txt

Patch to enable these. [~enigmacurry] want to give them a whirl?

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-07-11 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: 7432.txt

Updated patch uses -ge on the patch version, since we can actually use 
numerical comparison there.

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-07-11 Thread Brandon Williams (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brandon Williams updated CASSANDRA-7432:


Attachment: (was: 7432.txt)

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 1.2.19

 Attachments: 7432.txt


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-06-21 Thread graham sanderson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

graham sanderson updated CASSANDRA-7432:


Description: 
The new flags in question are as follows:

{code}
-XX:+CMSParallelInitialMarkEnabled
-XX:+CMSEdenChunksRecordAlways
{code}

Given we already have

{code}
JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
if [ $JVM_ARCH = 64-Bit ] ; then
JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
fi
{code}

The assumption would be that people are at least running on large number CPU 
cores/threads

I would therefore recommend defaulting these flags if available - the only two 
possible downsides for {{+CMSEdenChunksRecordAlways}}:

1) There is a new very short (probably un-contended) lock in the slow (non 
TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
detected this timing wise - this is the slow path after all
2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
will expose you to a possible seg fault: (see
[http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])

  was:
The new flags in question are as follows:

{code}
-XX:+CMSParallelInitialMarkEnabled
-XX:+CMSEdenChunksRecordAlways
{code}

Given we already have

{code}
JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
if [ $JVM_ARCH = 64-Bit ] ; then
JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
fi
{code}

The assumption would be that people are at least running on large number CPU 
cores/threads

I would therefore recommend defaulting these flags if available - the only two 
possible downsides for {{+CMSEdenChunksRecordAlways}}:

1) There is a new very short (probably un-contended) lock in the slow (non 
TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
detected this timing wise - this is the slow path after all
2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
will expose you to a possible seg fault 
[http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809]


 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson

 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-7432) Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60

2014-06-21 Thread Jonathan Ellis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-7432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-7432:
--

Fix Version/s: 2.0.9
 Assignee: Brandon Williams

 Add new CMS GC flags to cassandra_env.sh for JVM later than 1.7.0_60
 

 Key: CASSANDRA-7432
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7432
 Project: Cassandra
  Issue Type: Improvement
  Components: Packaging
Reporter: graham sanderson
Assignee: Brandon Williams
 Fix For: 2.0.9


 The new flags in question are as follows:
 {code}
 -XX:+CMSParallelInitialMarkEnabled
 -XX:+CMSEdenChunksRecordAlways
 {code}
 Given we already have
 {code}
 JVM_OPTS=$JVM_OPTS -XX:+UseParNewGC 
 JVM_OPTS=$JVM_OPTS -XX:+UseConcMarkSweepGC 
 JVM_OPTS=$JVM_OPTS -XX:+CMSParallelRemarkEnabled 
 JVM_OPTS=$JVM_OPTS -XX:+UseTLAB
 if [ $JVM_ARCH = 64-Bit ] ; then
 JVM_OPTS=$JVM_OPTS -XX:+UseCondCardMark
 fi
 {code}
 The assumption would be that people are at least running on large number CPU 
 cores/threads
 I would therefore recommend defaulting these flags if available - the only 
 two possible downsides for {{+CMSEdenChunksRecordAlways}}:
 1) There is a new very short (probably un-contended) lock in the slow (non 
 TLAB) eden allocation path with {{+CMSEdenChunksRecordAlways}}. I haven't 
 detected this timing wise - this is the slow path after all
 2) If you are running with {{-XX:-UseCMSCompactAtFullCollection}} (not the 
 default) *and* you call {{System.gc()}} then  {{+CMSEdenChunksRecordAlways}} 
 will expose you to a possible seg fault: (see
 [http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809])



--
This message was sent by Atlassian JIRA
(v6.2#6252)