Bug 1041263

Summary: [RFE][nova]: Explicit use of hugepages with libvirt
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/nova/+spec/explicit-libvirt-hugepages
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_drafting
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:35:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 14:12:05 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/explicit-libvirt-hugepages.

Description:

Transparent hugepages are nice and easy to get working, but do not survive memory pressure on the host. I/O pressure on the host breaks the 2M pages back to 4k pages, and therefore renders transparent hugepages useless for long-lived processes, as nothing will reassemble the 4k pages back to 2M pages after memory pressure has ceased. Basically, Transparent hugepages are not valid for production environments where memory pressure is normal.

To use hugepages we need to set up 'memorybacking' to 'hugepages' in libvirt.xml. We need also to create a new option flag ('libvirt_hugepages' for example) to toogle the hugepages on and off. 

Extra configuration at OS level is needed (AppArmor for example in debian-ite distros).




Specification URL (additional information):

None