Messages in this thread | | | Subject | RE: Who owns those locks ? | Date | Wed, 12 May 2004 03:25:19 -0700 | From | "Luck, Tony" <> |
| |
>The current task pointers are identity mapped memory addresses. >I shift them to the right by 12 bits (these bits are always 0-s). >In that way, addresses up to 16 Tbytes can fit into the lock word.
Neat trick. Will work for most people ... but watch out if you have an architecture that has sparse physical address space and can thus potentially allocate a task structure on a 16TB boundary.
At first I thought SGI Altix could be hurt by this, but they are saved by the fact that bits [37:36] are always set to one.
I know of at least one 1TB machine now, so 16TB machines are only a few years away. You could stretch the life of this patch by using PAGE_SHIFT, rather than 12 (as practically nobody builds kernels with a 4k pagesize, especially not on monster machines).
Or perhaps just fix the allocation of task structures to skip around the 16TB aligned ones?
-Tony - 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/
| |