lkml.org 
[lkml]   [2019]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC PATCH 03/15] mm/vmalloc: introduce new vrealloc() call and its subsidiary reach analog
On 2019-01-09 17:50, Matthew Wilcox wrote:
> On Wed, Jan 09, 2019 at 05:40:13PM +0100, Roman Penyaev wrote:
>> Basically vrealloc() repeats glibc realloc() with only one big
>> difference:
>> old area is not freed, i.e. caller is responsible for calling vfree()
>> in
>> case of successfull reallocation.
>
> Ouch. Don't call it the same thing when you're providing such
> different
> semantics. I agree with you that the new semantics are useful ones,
> I just want it called something else. Maybe vcopy()? vclone()?

vclone(). I like vclone(). But Linus does not like this reallocation
under the hood for epoll (where this vrealloc() should have been used),
so seems that won't be needed at all.

>
>> + * Do not forget to call vfree() passing old address. But careful,
>> + * calling vfree() from interrupt will cause vfree_deferred() call,
>> + * which in its turn uses freed address as a temporal pointer for a
>
> "temporary", not temporal.

Ha! Now I got the difference. Thanks, Mathew :)

>
>> + * llist element, i.e. memory will be corrupted.

--
Roman

\
 
 \ /
  Last update: 2019-01-10 11:09    [W:0.038 / U:1.764 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site