Messages in this thread | | | Date | Thu, 14 May 2009 15:04:55 +0200 | From | Michał Nazarewicz <> | Subject | Re: [PATCH] Physical Memory Management [0/1] |
| |
> On Thu, 2009-05-14 at 13:48 +0200, Michał Nazarewicz wrote: >>> On Thu, 2009-05-14 at 11:00 +0200, Michał Nazarewicz wrote: >>>> PMM solves this problem since the buffers are allocated when they >>>> are needed.
>> On Thu, 14 May 2009 13:20:02 +0200, Peter Zijlstra wrote: >>> Ha - only when you actually manage to allocate things. Physically >>> contiguous allocations are exceedingly hard once the machine has been >>> running for a while.
>> PMM reserves memory during boot time using alloc_bootmem_low_pages(). >> After this is done, it can allocate buffers from reserved pool. >> >> The idea here is that there are n hardware accelerators, each >> can operate on 1MiB blocks (to simplify assume that's the case). >> However, we know that at most m < n devices will be used at the same >> time so instead of reserving n MiBs of memory we reserve only m MiBs.
On Thu, 14 May 2009 14:05:02 +0200, Peter Zijlstra wrote: > And who says your pre-allocated pool won't fragment with repeated PMM > use?
Yes, this is a good question. What's more, there's no good answer. ;)
There is no guarantee and it depends on use cases. The biggest problem is a lot of small buffers allocated by different applications which get freed at different times. However, if in most cases one or two applications use PMM, we can assume that buffers are allocated and freed in groups. If that's the case, fragmentation is less likely to occur.
I'm not claiming that PMM is panacea for all the problems present on systems with no scatter-gather capability -- it is an attempt to gather different functionality and existing solutions in one place which is easier to manage and improve if needed.
Problem with allocation of continuous blocks hos no universal solution -- you can increased reserved area but then overall performance of the system will decrease. PMM is trying to find a compromise between the two.
-- Best regards, _ _ .o. | Liege of Serenly Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał "mina86" Nazarewicz (o o) ooo +-<m.nazarewicz@samsung.com>-<mina86@jabber.org>-ooO--(_)--Ooo--
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |