Hi, I revised the patch according to Joern's comments. Now the basic data structure is: vmalloc()/kmalloc + pointer array + slab cache. Also I did some code re-constructure to make it more clean. The patch is at http://www.infradead.org/~forrest/1:1mapping_r1.patch Thanks, Forrest