The physical address will be irrelevant - it is unusable for any purpose other than physical I/O handled by drivers. The only case I know of where a single segment is reserved is for some video cards - and that memory has to be removed from the kernels view of memory before it even starts.
Your problem isn't "locked in memory", the 20MB will be scattered all over... there will be different mapping list, not a single address.
And yes, memory is NOT allocated until it is actually used.
It would be a good idea to say what you are trying to do. Maybe we could help then.
Last edited by jpollard; 02-05-2013 at 11:30 AM.