Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp2849492pxb; Mon, 18 Oct 2021 03:16:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz61kljva/AiFHlDgB0mgtRKc9aYu+lV192kUFVTnESDS/cKL5BuJy7AijugcmTYhUdOQDH X-Received: by 2002:a17:90b:1b03:: with SMTP id nu3mr32557462pjb.76.1634552214854; Mon, 18 Oct 2021 03:16:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634552214; cv=none; d=google.com; s=arc-20160816; b=NUE7Lbwj6Jn4YXZp/Tt6jTGYTKhvE1jbS1KXZiJaRWtB9uVaxFK2TdyKDm8rSAeuqc 7C/mauK2yfpLg67ygRmsNw5FdrbQOc4alu9m868p7ojiZD91h4+aZIT2qTcs2VlEpovp tbJGX8uGlJLy5F4589v7tcZghLPVBdWuV0QyShGjgMZ841gu2A7pi329AHPHo/l6l4oU QItkEBwdx1zJNmjp4uFROtorB2562d63cyigoBDZxR1eRkniFDM5M8pWBXUAOppEo7Mc 9E6v5uOG6fzWmf8TnkyelLv9XQaaqIbINkJhkMTrLaOKWSWDLoxm8+JuDncCaOi6SnRe UIzw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:from:subject:dkim-signature; bh=RjQ2q0eEBKUC2hw/uFRyVd7II2frLBeK42RcVtr41GU=; b=LdK9bfs3XTr2brMhSlRiI7iHUvjVUe3iOcySVKcEGH3AlUMvSmkqureYIn4juZOIx7 awK4K1hs1FJh72ygQJt2KBDBMvNBGBH4/mHil0Fs8QbdiIT22ucCpswrMMvwcHzuy/86 Pa0dCGrAost9nkPWDOLy8Tnf9kKvBIALCJVfOnaVCn0o0mvASGEEu9YW/4iCjYKDcmAV GF6Hrq0yaXBgGCmdVRhnq+PwsKdrA0VRmLufcB5L59EiL5GvkgcQa0WD+iB+67yYoJtQ 2GzP+hUki20iVKOzCLSrAaw7QcH5cpP1VMyB/Y/cQa4+Yh5OO54bPEulQeOnt0Pb8Jwc v19w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=YdtmgWLs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g2si19149646pgc.473.2021.10.18.03.16.42; Mon, 18 Oct 2021 03:16:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=YdtmgWLs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231835AbhJRKQo (ORCPT + 99 others); Mon, 18 Oct 2021 06:16:44 -0400 Received: from relay.sw.ru ([185.231.240.75]:54776 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231397AbhJRKPT (ORCPT ); Mon, 18 Oct 2021 06:15:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Date:Message-ID:From: Subject; bh=RjQ2q0eEBKUC2hw/uFRyVd7II2frLBeK42RcVtr41GU=; b=YdtmgWLsg/9itCN0w gaNBRGfhIxNAIsOrvb79eZIkBpOZ7CZv91nsy63JFIByh51HEzOSr7LaoE/DPpCnbwVT7Fz6deWga 3qvoCB+/JJird1u8Xkc8qoPNqN6hyBAQ+QqhpptZZesFoyaujeaovPqgzcP6IbmvsVDDwm/pBVKIQ =; Received: from [172.29.1.17] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1mcPdh-006L2E-Bu; Mon, 18 Oct 2021 13:13:05 +0300 Subject: Re: [PATCH memcg 0/1] false global OOM triggered by memcg-limited task From: Vasily Averin To: Michal Hocko Cc: Johannes Weiner , Vladimir Davydov , Andrew Morton , Roman Gushchin , Uladzislau Rezki , Vlastimil Babka , Shakeel Butt , Mel Gorman , cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel@openvz.org References: <9d10df01-0127-fb40-81c3-cc53c9733c3e@virtuozzo.com> <6b751abe-aa52-d1d8-2631-ec471975cc3a@virtuozzo.com> Message-ID: <4a6f801b-28d3-94d7-2e65-212ad8c5a412@virtuozzo.com> Date: Mon, 18 Oct 2021 13:12:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <6b751abe-aa52-d1d8-2631-ec471975cc3a@virtuozzo.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 18.10.2021 13:05, Vasily Averin wrote: > On 18.10.2021 12:04, Michal Hocko wrote: >> On Mon 18-10-21 11:13:52, Vasily Averin wrote: >>> Partially this problem depends on one of my recent patches, disabled unlimited >>> memory allocation for dying tasks. However I think the problem can happen >>> on non-killed tasks too, for example because of kmem limit. >> >> Could you be more specific on how this can happen without your patch? I >> have to say I haven't realized this side effect when discussing it. > > We can reach obj_cgroup_charge_pages() for example via > > do_user_addr_fault > handle_mm_fault > __handle_mm_fault > p4d_alloc > __p4d_alloc > p4d_alloc_one > get_zeroed_page > __get_free_pages > alloc_pages > __alloc_pages > __memcg_kmem_charge_page > obj_cgroup_charge_pages > > Here we call try_charge_memcg() that return success and approve the allocation, > however then we hit into kmem limit and fail the allocation. btw. in OpenVZ kernels we trying to cleanup the memory in when task hit kmem limit, therefore we moved kmem limit check into try_charge_memcg. Are any improvements for kmem controller interesting for upstream? Thank you, Vasily Averin