On 06/24/2011 08:52 AM, Dave Hansen wrote:
On Thu, 2011-06-23 at 23:11 -0700, Nitin Gupta wrote:
Much of this vpage functionality seems to be already present in mainline
as "flexible arrays"[1]
That's a good observation. I don't know who wrote that junk, but I bet
they never thought of using it for this purpose. :)
FWIW, for flex_arrays, the biggest limitation is that the objects
currently can not cross page boundaries. The current API also doesn't
have any concept of a release function. We'd need those to do the
unmapping after a get(). It certainly wouldn't be impossible to fix,
but it would probably make it quite a bit more complicated.
The other limitation is that each array can only hold a small number of
megabytes worth of data in each array. We only have a single-level
table lookup, and that first-level table is limited to PAGE_SIZE (minus
a wee bit of metadata).
These limitations really makes them unsuitable for use in the new
allocator and I guess "fixing" them is also not a good idea -- if its
fundamentally designed to work on small number of objects, it should
probably be left as-is. Not sure who really uses flex arrays?
So, if and when vpage stuff is introduced, existence of flex_arrays
should not become a barrier.
Thanks,
Nitin
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>