Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753406AbbK3IUf (ORCPT ); Mon, 30 Nov 2015 03:20:35 -0500 Received: from mail-db3on0061.outbound.protection.outlook.com ([157.55.234.61]:59752 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753191AbbK3IUc (ORCPT ); Mon, 30 Nov 2015 03:20:32 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=mika.penttila@nextfour.com; Subject: Re: [PATCH v5 01/12] mm: support madvise(MADV_FREE) To: Minchan Kim , Andrew Morton References: <1448865583-2446-1-git-send-email-minchan@kernel.org> <1448865583-2446-2-git-send-email-minchan@kernel.org> CC: , , Michael Kerrisk , , Hugh Dickins , Johannes Weiner , Rik van Riel , Mel Gorman , KOSAKI Motohiro , Jason Evans , Daniel Micay , "Kirill A. Shutemov" , "Shaohua Li" , Michal Hocko , , Andy Lutomirski , "Michal Hocko" From: =?UTF-8?Q?Mika_Penttil=c3=a4?= X-Enigmail-Draft-Status: N1110 Message-ID: <565C06C9.7040906@nextfour.com> Date: Mon, 30 Nov 2015 10:20:25 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <1448865583-2446-2-git-send-email-minchan@kernel.org> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [194.157.170.34] X-ClientProxiedBy: AM2PR09CA0080.eurprd09.prod.outlook.com (25.160.228.176) To AM2PR07MB0900.eurprd07.prod.outlook.com (25.161.71.21) X-Microsoft-Exchange-Diagnostics: 1;AM2PR07MB0900;2:TPbJ98bLyfGqxJYm+RoLIqAa645PTvxWblEhLcWi3jT3nnuQ5hLuiba54KponFJ1RSHfVcE1ZDM3w2M5l3Uwr1N9/iRG8hK2wCZxCe+Jb3lOJ2JDNajFCDzoLOCCrtxBGJkN9NGAubdKPTuYMl8Emg==;3:I8pFzRNxK/0L6V410EnagaCb1PxEPcbY+LB6TUJAk0+iT7Lk3LJoGVI732etpu9NGtftSfQWbWqixkUgzAgbp/7qLruesFCPsAIg5M+SeC2TzP6m8bgsVeik9AbbhR56;25:jzi5QlXwL+Z0GYt7QfpO1NrubHRnqfc2jA2VlNg/sT1HFz8dUoLW+YqL03SARNEay/v3QEt44/KsVLyMA/Wzla9/MBV++NZte84K38FHB5D/UMALGARtmDJkbHeAND28aPOHxeYEUsHkTtfHUOJHFOydoQpKiY0U26PAQO9vh8eKUFm+c1jpi6xYea9/notIvRGVqnxt/oN3ZQfbzRTwD1Sp+xI2iyNlwIdFHNprJdzeTVyxA3SJcfuv6ikb4UtHOGxTIo6FcdGol2Bb8l9/mw==;4:dps7zha+DVBvCZBr/4MNLjRURGxFMi7EQOeUN/ZHZvdnhSqRsuCbvNnxZ/iBo3bwke3x2rDSGBW91uFKlQjGyQkJKouLUu1/2v/euGlEj0N8xXUoL70HFdYJLf/D20hn+9YwJBBgWNx6AKNAo039jF8VaN68J2UKeRMXs/umAdhmtcH7IH7UOB5geUf+n8ZxcQd5wFnX9F0T5uhvTQ1vmj2di848btBMNBDEDb28s32aJ4eku3JdkzmcaHYoAEkmrecL9gEkYzhmA38+YGw3DpFDLa+z/N5qXgubmXwneqhbiNDiziRfOOgGenFRS6pByiQIyk7UX6vxx4uAY5X3HZXJb6p6n5O6YKkaxb5nqX8QQQJN/7pQVqIpe5G8TEAp X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AM2PR07MB0900; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001);SRVR:AM2PR07MB0900;BCL:0;PCL:0;RULEID:;SRVR:AM2PR07MB0900; X-Forefront-PRVS: 0776C39A48 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(189002)(199003)(83506001)(81156007)(189998001)(6116002)(65816999)(5008740100001)(122386002)(101416001)(33656002)(87976001)(59896002)(40100003)(50986999)(1096002)(50466002)(86362001)(80316001)(87266999)(106356001)(54356999)(230700001)(42186005)(76176999)(64126003)(105586002)(5001960100002)(2950100001)(3846002)(5004730100002)(65806001)(77096005)(5001770100001)(66066001)(586003)(92566002)(47776003)(97736004)(65956001)(4001350100001)(36756003)(23746002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM2PR07MB0900;H:[10.10.10.110];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;AM2PR07MB0900;23:SgHfXjZvIicLuJAM/5dLyzkGW7tdoqLHtmuSz?= =?Windows-1252?Q?LMbNXi70dSuOLL5G3mR6AIA75FtV1/lQO8wbQhvjZDsS2fNqSfLtT4FJ?= =?Windows-1252?Q?o3joei45jpYQJWwhATbLYmA0VQkw/gHlQxUMwKzubujuTjAB5sayIzYo?= =?Windows-1252?Q?IbIIAkr6wY1QYtMY0m/2yeDO6f1t3zA6dPK4pMJUWkCX4qPKOXGz6y8Y?= =?Windows-1252?Q?svbvS7KOlPuAZM82XUz5ZQaO3IttmUEcsLXRzrFLWXDK/eQ0TgiDv8Gd?= =?Windows-1252?Q?0GEy/++8p7nVH2UYV1BiUc1g9dVJpivWRUDsDFZ3DC2u4yq5YTkk/XEt?= =?Windows-1252?Q?yrDBY/xBCAErFmQ/Ygf2jnJc3C6OodZZp+tzhR3GqoakIH7y+F5mhYvX?= =?Windows-1252?Q?3VXxJlYR+C913/IlBCvTsPY7nDN95etgTfchjrplYOYOpvitI8LcjCpx?= =?Windows-1252?Q?8Z9FafLnpZx5IVMFq2DJbD9J2AV9yyRtvxhgWybEoOFuBpgpmtabXH8l?= =?Windows-1252?Q?nRA4o+SfzbdWwXZl/pqJ/fahhuTRI5uYjluNty7FvFeE9aKyAlycJYNX?= =?Windows-1252?Q?fI1sM65eREbmFejqnndbdDigTq8pxeG6/AAs0pFiWVCMvvG2a/BckPd4?= =?Windows-1252?Q?e7cTykv8Ibri5Ue2ITxEddC0ltp+tuEfZdywxNfAbh00eB4mgTmSuI/M?= =?Windows-1252?Q?u9+2Z9FFpHsQd+YAUUOlQxJQ5fRTcs1DepGtPQWtRq4yXMEsHvIvsr6n?= =?Windows-1252?Q?+JBHFOyDWwOeK/na3X6Ovu99MQzYuLcqGwneG3L8Vg9mExgWHcR8CJ4D?= =?Windows-1252?Q?rjCu55Ky9ebsSQVaiWU/XlGTEf+1dFfc5DqF5BNZ2ocwnwZU/FGEdkB9?= =?Windows-1252?Q?9309Cg7/0In/B0f1Mbx9RfGaU4mXZWyNWPq0Cn3+lsAyWUglX9eYPfBm?= =?Windows-1252?Q?7jGerz3MLjGdG9Eu9T04xDQT3XrTxdFJwvMw765W1/frqx//fZ41kblG?= =?Windows-1252?Q?RKZ6tbWveSC+SzcYfisGMUQjup1qYew0DQuhspDY6CUJRLyqGCLh1M70?= =?Windows-1252?Q?kfuzLHKUuaH5EDEnjlnz/+IKBgLUBJHgeFCuKNGdIRfuLsMcigksrWnx?= =?Windows-1252?Q?3P1PYL0zJJkxB6ynb3rmohK6eYRrb7BqpV2t4admZE+HzMezLiKyMmr1?= =?Windows-1252?Q?yrq+CxlMooPrgcWWcisodeKUbEGH0jMnM9l7P2H33X9tryqrWkLCreOT?= =?Windows-1252?Q?HRIvcX94WQ+NqZRyQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM2PR07MB0900;5:i1ppvfbC9fe/UBzrSfmH1D3JTXabrFFRZo4anC1LHhoLG6g3lQsdpK3uQj6fOGHDmIUKTTxjJUbYsTu8cBSNSZ+u50nCUEH2MOw5ksowB8kQ231PQHY5ikC/oByPWAjlVIEoKRjvQSt6PwPlKhMNNw==;24:Tudy2WKfb62i+5ne/s4eix0LOiwOidLIebaea7+xKTMncxEaI8md0Ej3WyclXGavctc8TLAMYG3RXk5PaDCnhGiuOlf/akGUVmZZzLM/YoU= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: nextfour.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2015 08:20:28.3467 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM2PR07MB0900 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 989 Lines: 35 > + * If pmd isn't transhuge but the page is THP and > + * is owned by only this process, split it and > + * deactivate all pages. > + */ > + if (PageTransCompound(page)) { > + if (page_mapcount(page) != 1) > + goto out; > + get_page(page); > + if (!trylock_page(page)) { > + put_page(page); > + goto out; > + } > + pte_unmap_unlock(orig_pte, ptl); > + if (split_huge_page(page)) { > + unlock_page(page); > + put_page(page); > + pte_offset_map_lock(mm, pmd, addr, &ptl); > + goto out; > + } > + pte = pte_offset_map_lock(mm, pmd, addr, &ptl); > + pte--; > + addr -= PAGE_SIZE; > + continue; > + } looks like this leaks page count if split_huge_page() is succesfull (returns zero). --Mika -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/