Messages in this thread | | | Subject | Re: [PATCH] Use extents for recording what swap is allocated. | From | Nigel Cunningham <> | Date | Wed, 25 Oct 2006 08:06:36 +1000 |
| |
Hi.
On Tue, 2006-10-24 at 21:42 +0100, Christoph Hellwig wrote: > On Mon, Oct 23, 2006 at 02:14:17PM +1000, Nigel Cunningham wrote: > > Switch from bitmaps to using extents to record what swap is allocated; > > they make more efficient use of memory, particularly where the allocated > > storage is small and the swap space is large. > > > > This is also part of the ground work for implementing support for > > supporting multiple swap devices. > > In addition to the very useful comments from Rafael there's some observations > of my own: > > - there's an awful lot of opencoded list manipulation, any chance you > could use list.h instead?
IIRC, I avoided list.h because I only wanted a singly linked list (it never gets traversed backwards). List.h looks to me like all doubly linked lists. Do you know if there are any other singly linked list implementations I could piggy-back?
That said, since there's normally not that many extents, I could switch quite easily and it wouldn't normally waste much memory.
> - what unit are the extent values in? The usage of unsigned long rings > warning bells for me, shouldn't this be something like pgoff_t or > sector_t depending on what you describe with it?
For this use, they're swap extents. For another use I have in suspend2, they're sector_t >> block_device_size. That's why I picked ul; something generic in what's supposed to be a generic implementation.
Thanks for the comments.
Nigel
- 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/
| |