Messages in this thread | | | Date | Wed, 9 Oct 2013 12:16:17 -0500 | From | Seth Jennings <> | Subject | Re: [PATCH v3 5/6] zswap: replace tree in zswap with radix tree in zbud |
| |
On Wed, Oct 09, 2013 at 10:30:22AM -0500, Seth Jennings wrote: > In my approach, I was also looking at allowing the zbud pools to use > HIGHMEM pages, since the handle is no longer an address. This requires > the pages that are being mapped to be kmapped (atomic) which will > disable preemption. This isn't an additional overhead since the > map/unmap corresponds with a compress/decompress operation at the zswap > level which uses per-cpu variables that disable preemption already.
On second though, lets not mess with the HIGHMEM page support for now. Turns out it is tricker than I thought since the unbuddied lists are linked through the zbud header stored in the page. But we can still disable preemption to allow per-cpu tracking of the current mapping and avoid a lookup (and races) in zbud_unmap().
Seth
| |