From: Michal Hocko <mhocko@kernel.org> To: Daniel Borkmann <daniel@iogearbox.net> Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>, Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>, Mel Gorman <mgorman@suse.de>, Johannes Weiner <hannes@cmpxchg.org>, linux-mm <linux-mm@kvack.org>, LKML <linux-kernel@vger.kernel.org>, "netdev@vger.kernel.org" <netdev@vger.kernel.org>, marcelo.leitner@gmail.com Subject: Re: [PATCH 0/6 v3] kvmalloc Date: Thu, 26 Jan 2017 12:58:33 +0100 [thread overview] Message-ID: <20170126115833.GI6590@dhcp22.suse.cz> (raw) In-Reply-To: <5889DEA3.7040106@iogearbox.net> On Thu 26-01-17 12:33:55, Daniel Borkmann wrote: > On 01/26/2017 11:08 AM, Michal Hocko wrote: [...] > > If you disagree I can drop the bpf part of course... > > If we could consolidate these spots with kvmalloc() eventually, I'm > all for it. But even if __GFP_NORETRY is not covered down to all > possible paths, it kind of does have an effect already of saying > 'don't try too hard', so would it be harmful to still keep that for > now? If it's not, I'd personally prefer to just leave it as is until > there's some form of support by kvmalloc() and friends. Well, you can use kvmalloc(size, GFP_KERNEL|__GFP_NORETRY). It is not disallowed. It is not _supported_ which means that if it doesn't work as you expect you are on your own. Which is actually the situation right now as well. But I still think that this is just not right thing to do. Even though it might happen to work in some cases it gives a false impression of a solution. So I would rather go with diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 8697f43cf93c..a6dc4d596f14 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -53,6 +53,11 @@ void bpf_register_map_type(struct bpf_map_type_list *tl) void *bpf_map_area_alloc(size_t size) { + /* + * FIXME: we would really like to not trigger the OOM killer and rather + * fail instead. This is not supported right now. Please nag MM people + * if these OOM start bothering people. + */ return kvzalloc(size, GFP_USER); } -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Daniel Borkmann <daniel@iogearbox.net> Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>, Andrew Morton <akpm@linux-foundation.org>, Vlastimil Babka <vbabka@suse.cz>, Mel Gorman <mgorman@suse.de>, Johannes Weiner <hannes@cmpxchg.org>, linux-mm <linux-mm@kvack.org>, LKML <linux-kernel@vger.kernel.org>, "netdev@vger.kernel.org" <netdev@vger.kernel.org>, marcelo.leitner@gmail.com Subject: Re: [PATCH 0/6 v3] kvmalloc Date: Thu, 26 Jan 2017 12:58:33 +0100 [thread overview] Message-ID: <20170126115833.GI6590@dhcp22.suse.cz> (raw) In-Reply-To: <5889DEA3.7040106@iogearbox.net> On Thu 26-01-17 12:33:55, Daniel Borkmann wrote: > On 01/26/2017 11:08 AM, Michal Hocko wrote: [...] > > If you disagree I can drop the bpf part of course... > > If we could consolidate these spots with kvmalloc() eventually, I'm > all for it. But even if __GFP_NORETRY is not covered down to all > possible paths, it kind of does have an effect already of saying > 'don't try too hard', so would it be harmful to still keep that for > now? If it's not, I'd personally prefer to just leave it as is until > there's some form of support by kvmalloc() and friends. Well, you can use kvmalloc(size, GFP_KERNEL|__GFP_NORETRY). It is not disallowed. It is not _supported_ which means that if it doesn't work as you expect you are on your own. Which is actually the situation right now as well. But I still think that this is just not right thing to do. Even though it might happen to work in some cases it gives a false impression of a solution. So I would rather go with diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 8697f43cf93c..a6dc4d596f14 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -53,6 +53,11 @@ void bpf_register_map_type(struct bpf_map_type_list *tl) void *bpf_map_area_alloc(size_t size) { + /* + * FIXME: we would really like to not trigger the OOM killer and rather + * fail instead. This is not supported right now. Please nag MM people + * if these OOM start bothering people. + */ return kvzalloc(size, GFP_USER); } -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-01-26 11:58 UTC|newest] Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-01-25 18:14 [PATCH 0/6 v3] kvmalloc Alexei Starovoitov 2017-01-25 18:14 ` Alexei Starovoitov 2017-01-25 20:16 ` Daniel Borkmann 2017-01-25 20:16 ` Daniel Borkmann 2017-01-26 7:43 ` Michal Hocko 2017-01-26 7:43 ` Michal Hocko 2017-01-26 9:36 ` Daniel Borkmann 2017-01-26 9:36 ` Daniel Borkmann 2017-01-26 9:48 ` David Laight 2017-01-26 9:48 ` David Laight 2017-01-26 10:08 ` Michal Hocko 2017-01-26 10:08 ` Michal Hocko 2017-01-26 10:32 ` Michal Hocko 2017-01-26 10:32 ` Michal Hocko 2017-01-26 11:04 ` Daniel Borkmann 2017-01-26 11:04 ` Daniel Borkmann 2017-01-26 11:49 ` Michal Hocko 2017-01-26 11:49 ` Michal Hocko 2017-01-26 12:14 ` Joe Perches 2017-01-26 12:14 ` Joe Perches 2017-01-26 12:27 ` Michal Hocko 2017-01-26 12:27 ` Michal Hocko 2017-01-26 11:33 ` Daniel Borkmann 2017-01-26 11:33 ` Daniel Borkmann 2017-01-26 11:58 ` Michal Hocko [this message] 2017-01-26 11:58 ` Michal Hocko 2017-01-26 13:10 ` Daniel Borkmann 2017-01-26 13:10 ` Daniel Borkmann 2017-01-26 13:40 ` Michal Hocko 2017-01-26 13:40 ` Michal Hocko 2017-01-26 14:13 ` Michal Hocko 2017-01-26 14:13 ` Michal Hocko 2017-01-26 14:13 ` Michal Hocko 2017-01-26 14:37 ` [PATCH] net, bpf: use kvzalloc helper kbuild test robot 2017-01-26 14:58 ` kbuild test robot 2017-01-26 20:34 ` [PATCH 0/6 v3] kvmalloc Daniel Borkmann 2017-01-26 20:34 ` Daniel Borkmann 2017-01-27 10:05 ` Michal Hocko 2017-01-27 10:05 ` Michal Hocko 2017-01-27 20:12 ` Daniel Borkmann 2017-01-27 20:12 ` Daniel Borkmann 2017-01-30 7:56 ` Michal Hocko 2017-01-30 7:56 ` Michal Hocko 2017-01-30 16:15 ` Daniel Borkmann 2017-01-30 16:15 ` Daniel Borkmann 2017-01-30 16:28 ` Michal Hocko 2017-01-30 16:28 ` Michal Hocko 2017-01-30 16:45 ` Daniel Borkmann 2017-01-30 16:45 ` Daniel Borkmann -- strict thread matches above, loose matches on Subject: below -- 2017-01-30 9:49 Michal Hocko 2017-01-30 9:49 ` Michal Hocko 2017-02-05 10:23 ` Michal Hocko 2017-02-05 10:23 ` Michal Hocko 2017-01-12 15:37 Michal Hocko 2017-01-12 15:37 ` Michal Hocko 2017-01-24 15:17 ` Michal Hocko 2017-01-24 15:17 ` Michal Hocko 2017-01-24 16:00 ` Eric Dumazet 2017-01-24 16:00 ` Eric Dumazet 2017-01-25 13:10 ` Michal Hocko 2017-01-25 13:10 ` Michal Hocko 2017-01-24 19:17 ` Alexei Starovoitov 2017-01-24 19:17 ` Alexei Starovoitov 2017-01-25 13:10 ` Michal Hocko 2017-01-25 13:10 ` Michal Hocko 2017-01-25 13:21 ` Michal Hocko 2017-01-25 13:21 ` Michal Hocko
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20170126115833.GI6590@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=alexei.starovoitov@gmail.com \ --cc=daniel@iogearbox.net \ --cc=hannes@cmpxchg.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=marcelo.leitner@gmail.com \ --cc=mgorman@suse.de \ --cc=netdev@vger.kernel.org \ --cc=vbabka@suse.cz \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.