Re: [PATCH] fs: use kmalloc() to allocate fdmem if possible

Jiri Slaby
2010-05-03T09:23:05Z

On 05/03/2010 11:18 AM, Avi Kivity wrote:
> On 05/03/2010 12:03 PM, Jiri Slaby wrote:
>>>> Because vmalloc is used to allocate virtually contiguous memory. v in
>>>> vmalloc means virtually.
>>>>
>>>>
>>>>
>>> A kmalloc()ed page is virtually contiguous, satisfying your requirement.
>>>
>> But it won't work well for vmalloc_to_{page,pfn} and similar.
>
> Modify vmalloc_to_{page,pfn} accordingly.

When you get a slub in the middle of page, how?

>> Some code
>> may expect vmalloc result to be in the vmalloc area and page-aligned
>> (both in position and size).
>>
>
> Both would be a bug IMO. vmalloc() follows kmalloc() and malloc() which
> only guarantee natural alignment.

Nope, from what I understand, vmalloc aligns (uses page allocator). Even
for purposes of vmalloc_to_*.

regards,
--
js
suse labs