#!/bin/sh
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO

case $1 in
	start)
		if [ -d /sys/kernel/mm/transparent_hugepage ]; then
			thp_path=/sys/kernel/mm/transparent_hugepage
		elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
			thp_path=/sys/kernel/mm/redhat_transparent_hugepage
		else
			return 0
		fi

		echo 'never' > ${thp_path}/enabled
		echo 'never' > ${thp_path}/defrag

		unset thp_path
		;;
esac
