From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752853AbdKUEsO (ORCPT ); Mon, 20 Nov 2017 23:48:14 -0500 Received: from mail-ua0-f193.google.com ([209.85.217.193]:38187 "EHLO mail-ua0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752539AbdKUEsM (ORCPT ); Mon, 20 Nov 2017 23:48:12 -0500 X-Google-Smtp-Source: AGs4zMbkM8ewZANNRFFsnF6OTUQ264OdC1IPQ4t5aov1XIOuoDvWC5BNfGEzxZen1lYC57pHDrGlpkK9B3h6okoeq+Y= MIME-Version: 1.0 In-Reply-To: <20171120083548.stupram6kpi5iu7i@dhcp22.suse.cz> References: <20171101053244.5218-1-slandden@gmail.com> <20171103063544.13383-1-slandden@gmail.com> <20171103090915.uuaqo56phdbt6gnf@dhcp22.suse.cz> <20171120083548.stupram6kpi5iu7i@dhcp22.suse.cz> From: Shawn Landden Date: Mon, 20 Nov 2017 20:48:10 -0800 Message-ID: Subject: Re: [RFC v2] prctl: prctl(PR_SET_IDLE, PR_IDLE_MODE_KILLME), for stateless idle loops To: Michal Hocko Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-api@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 20, 2017 at 12:35 AM, Michal Hocko wrote: > On Fri 17-11-17 20:45:03, Shawn Landden wrote: >> On Fri, Nov 3, 2017 at 2:09 AM, Michal Hocko wrote: >> >> > On Thu 02-11-17 23:35:44, Shawn Landden wrote: >> > > It is common for services to be stateless around their main event loop. >> > > If a process sets PR_SET_IDLE to PR_IDLE_MODE_KILLME then it >> > > signals to the kernel that epoll_wait() and friends may not complete, >> > > and the kernel may send SIGKILL if resources get tight. >> > > >> > > See my systemd patch: https://github.com/shawnl/systemd/tree/prctl >> > > >> > > Android uses this memory model for all programs, and having it in the >> > > kernel will enable integration with the page cache (not in this >> > > series). >> > > >> > > 16 bytes per process is kinda spendy, but I want to keep >> > > lru behavior, which mem_score_adj does not allow. When a supervisor, >> > > like Android's user input is keeping track this can be done in >> > user-space. >> > > It could be pulled out of task_struct if an cross-indexing additional >> > > red-black tree is added to support pid-based lookup. >> > >> > This is still an abuse and the patch is wrong. We really do have an API >> > to use I fail to see why you do not use it. >> > >> When I looked at wait_queue_head_t it was 20 byes. > > I do not understand. What I meant to say is that we do have a proper > user api to hint OOM killer decisions. This is a FIFO queue, rather than a heuristic, which is all you get with the current API. > -- > Michal Hocko > SUSE Labs