Re: frontswap/zcache: xvmalloc discussion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]