Re: [PATCH 1/3] memblock, nobootmem: Add memblock_virt_alloc_low()

From: Santosh Shilimkar
Date: Fri Jan 24 2014 - 14:31:05 EST


On Friday 24 January 2014 02:25 PM, Konrad Rzeszutek Wilk wrote:
> On Fri, Jan 24, 2014 at 11:11:10AM -0800, Yinghai Lu wrote:
>> The new memblock_virt APIs are used to replaced old bootmem API.
>>
>> We need to allocate page below 4G for swiotlb.
>>
>> That should fix regression on Andrew's system that is using swiotlb.
>
> Please include the title of the patch that caused the regression.
> I presume it is "mm/lib/swiotlb: Use memblock apis for early memory allocations"
>
> Interestingly enough when I asked about it:
>
> https://lkml.org/lkml/2013/11/9/280
>
>
> >> v_overflow_buffer = memblock_virt_alloc_align_nopanic(
> >> + PAGE_ALIGN(io_tlb_overflow),
> >> + PAGE_SIZE);
> >
> > Does this guarantee that the pages will be allocated below 4GB?
> >
> Yes. The memblock layer still allocates memory from lowmem. As I
> mentioned, there is no change in the behavior than what is today
> apart from just the interface change.
>
> How did that happend? Was there another patch in the series that altered
> such assumption?
>
Actually it didn't. It was the misunderstanding on my side about the
low_mem_max_addr being under 4GB, which is not always true especially
for 64-bit systems which have no addressing limitations.

Regards,
Santosh

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/