I'm still not very comfortable with this "definition":
This function will make sure your memory block is not unmapped, swapped out *or somehow made inaccessible*.
This is not a definition. I would call "somehow" a random event, which a computer system really can't do.
The memory is always *accessible*, just perhaps not at this precise clock cycle, which is why you want to use locked memory in interrupts and likewise. Just strike the "somehow made inaccessible" bit. Any driver developers should be assumed to have some more knowledge, and the ones that don't are not helped by the explanation.
My suggestion:
This function will make sure your memory block is not unmapped or swapped out. This is only useful during interrupts, device driver code or similar.
I don't mean that the wiki needs to be a newbie manual, but one shouldn't give novice developers the room to make any false guesses.
Furthermore, I do think there are some of us that don't exactly know what "page locking" means (especially since we can never lock or unlock *pages*, only memory, at least according to the name of the functions: Lock/UnlockMem).
This is how I understand it (I hope I'm conceptually correct, I haven't bothered with page size and stuff):
If we allocate and lock 16 Mbyte of memory, and then free it without unlocking, the system will get its 16 Mbyte back. However, the system cannot swap or move these 16 Mbyte. Nonetheless, these 16 Mbyte are available for any new allocations. Any 1 Mbyte allocations will eventually get a piece of these 16 Mbyte. But, now imagine the system running out of memory. The system tries to swap out memory, but the big 16 Mbyte chunk of memory cannot be swapped since it's locked, even though not all of the 16 Mbyte of it are used.
Did I get it right?
I think I made some misplaced quotes in the beginning of the thread which lead some to believe that locked memory can't be freed -- which it can.
Furthermore, I also think nbache's change suggestion is good.