Skip to content

Instantly share code, notes, and snippets.


Wonsup Yoon Pusnow

View GitHub Profile

Linux Hugepages

Hugepages are a hardware feature designed to reduce pressure on the translation lookaside buffer (TLB) for applications that operate on large contiguous memory regions.

Take a program that operates on a large 2MB internal structure as an example. If the program accesses that space in such a way that one byte in each regular 4k page is accessed, 2M/4k = 512 TLB entries are needed. Each TLB miss at the hardware level requires and interrupt and kernel intervention to resolve. However, if the allocation is backed by a 2M hugepage by mmap()ing with MAP_HUGETLB, only 1 TLB entry is required.

On x86_64, there are two hugepage sizes: 2MB and 1G. 1G hugepages are also called gigantic pages. 1G must be enabled on kernel boot line with hugepagesz=1G. Hugeages, especially 1G ones, should to be allocated early before memory fragments (i.e. at/near boot time) to increase the likelihood that they can be allocated successfully with minimal memory migration (i.e. defreg) required

kevinlee12 / Device Toggle.bat
Created Jan 28, 2016
Toggle Enable/Disable Device Windows
View Device Toggle.bat
@setlocal enableextensions enabledelayedexpansion
@echo off
rem ===========================================================================
rem The following toggles the touch screen on the Lenovo Thinkpad Yoga 12 using
rem DevCon.exe. Please ensure that you have Devcon.exe installed before running
rem this script. Please see Windows Device Console (Devcon.exe) page for Devcon
rem installation instructions.
rem This script must be run with admin privileges.
You can’t perform that action at this time.