Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932656AbcDFL2x (ORCPT ); Wed, 6 Apr 2016 07:28:53 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:26949 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932331AbcDFL2u convert rfc822-to-8bit (ORCPT ); Wed, 6 Apr 2016 07:28:50 -0400 From: Frank Mehnert To: linux-kernel@vger.kernel.org Subject: PG_reserved and compound pages Date: Wed, 06 Apr 2016 13:28:37 +0200 Message-ID: <4482994.u2S3pScRyb@noys2> Organization: Oracle Corporation User-Agent: KMail/4.14.10 (Linux/4.5.0; KDE/4.14.14; x86_64; ; ) MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="utf-8" X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1180 Lines: 33 Hi, Linux 4.5 introduced additional checks to ensure that compound pages are never marked as reserved. In our code we use PG_reserved to ensure that the kernel does never swap out such pages, e.g. int i; struct page *pages = alloc_pages(GFP_HIGHUSER | __GFP_COMP, 4); for (i = 0; i < 16; i++) SetPageReserved(&pages[i]); The purpose of setting PG_reserved is to prevent the kernel from swapping this memory out. This worked with older kernel but not with Linux 4.5 as setting PG_reserved to compound pages is not allowed any more. Can somebody explain how we can achieve the same result in accordance to the new Linux 4.5 rules? Thanks, Frank -- Dr.-Ing. Frank Mehnert | Software Development Director, VirtualBox ORACLE Deutschland B.V. & Co. KG | Werkstr. 24 | 71384 Weinstadt, Germany ORACLE Deutschland B.V. & Co. KG Hauptverwaltung: Riesstraße 25, D-80992 München Registergericht: Amtsgericht München, HRA 95603 Komplementärin: ORACLE Deutschland Verwaltung B.V. Hertogswetering 163/167, 3543 AS Utrecht, Niederlande Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697 Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher