lkml.org 
[lkml]   [2010]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/5] mm: add nofail variants of kmalloc kcalloc and kzalloc
On Wed, 25 Aug 2010, Peter Zijlstra wrote:

> > There's still no hard guarantee that the memory will allocatable
> > (GFP_KERNEL, the compaction, then GFP_ATOMIC could all still fail), but I
> > don't see how continuously looping the page allocator is possibly supposed
> > to help in these situations.
>
> Why do you think I'm a proponent of that behaviour?
>

I don't, I was agreeing with what you're saying :)

> I've been arguing that the existance of GFP_NOFAIL is the bug, and I
> started the whole discussion because your patchset didn't outline the
> purpose of its existance, it merely changes __GFP_NOFAIL usage into
> $foo_nofail() functions, which on its own is a rather daft change.
>

I originally pushed these to the callers, but Andrew thought it would be
better so that we could audit the existing users that have no fallback
behavior, even though they could go implement it on their own (like
getblk() which actually does try _some_ memory freeing). It eliminates
the flag from the page allocator and saves branches in the slowpath. We
don't need this logic in the allocator itself, it can exist at a higher
level and, with deprecation, will hopefully be incentive enough for those
subsystems to fix the issue.

I'll repropose the patchset with __deprecated as you suggested. Thanks!


\
 
 \ /
  Last update: 2010-08-26 01:15    [W:0.689 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site