mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-23 00:02:37 +00:00
The Intel Optimizaton Manual states that branches with relative offsets greater than 2GB suffer a penalty. They cite a 6% improvement when this is avoided. Our code doesn't rely heavily on dynamically linked libraries, so I don't expect a similar win, but it's still better to do it than not. Eliminate long branches by asking the dynamic linker to restrict itself to the lower 4GB of the address space. I saw that it maps libraries at 1GB+ addresses, so this satisfies the limitation. Fix is from the Intel Optimization Manual as well. This change was ported from ScyllaDB Enterprise. Closes scylladb/scylladb#22498
34 lines
967 B
Desktop File
34 lines
967 B
Desktop File
[Unit]
|
|
Description=Scylla Server
|
|
Wants=scylla-housekeeping-restart.timer
|
|
Wants=scylla-housekeeping-daily.timer
|
|
# This will only requires for abrt < 2.14
|
|
Conflicts=abrt-ccpp.service
|
|
|
|
[Service]
|
|
Type=notify
|
|
LimitCORE=infinity
|
|
LimitMEMLOCK=infinity
|
|
LimitNOFILE=800000
|
|
LimitAS=infinity
|
|
LimitNPROC=8096
|
|
# Intel Golden Cove branches > 2GB occupy more slots in the branch target buffer,
|
|
# so map libraries close to the executable for shorter branches.
|
|
Environment=LD_PREFER_MAP_32BIT_EXEC=1
|
|
EnvironmentFile=/etc/sysconfig/scylla-server
|
|
EnvironmentFile=/etc/scylla.d/*.conf
|
|
ExecStartPre=+/opt/scylladb/scripts/scylla_prepare
|
|
ExecStart=/usr/bin/scylla $SCYLLA_ARGS $SEASTAR_IO $DEV_MODE $CPUSET $MEM_CONF
|
|
ExecStopPost=+/opt/scylladb/scripts/scylla_stop
|
|
TimeoutStartSec=1y
|
|
TimeoutStopSec=900
|
|
Restart=on-abnormal
|
|
User=scylla
|
|
OOMScoreAdjust=-950
|
|
SyslogLevelPrefix=false
|
|
AmbientCapabilities=CAP_SYS_NICE CAP_IPC_LOCK
|
|
Slice=scylla-server.slice
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|