For the sake of argument, suppose we pretended the task forked and exited,
but the child had the same pid and ppid. Since fork and exit exist in
the kernel there must be _some_ way of destroying TSSs and allocating new
ones. :-)
> Well I understand about 50% of what you just said. I can see how it
> could be moved to the end of the task structure to make things easier
> for re-sizing, but I don't undertand the 8K hack you mention. Will
> this affect our patch that allocates a full 8Kb I/O bitmap?
Yes. This refers to 2.1.x. In 2.0.x the kernel stack is allocated
separately from the TSS (which is allocated by kmalloc(sizeof TSS))
and a pointer to the stack is stored in tss->esp0. It seems that in
2.1.x an 8K TSS is allocated by get_free_pages and there is no separate
stack. The value TSS+8K is stored in tss->esp0. In order to make the 8K
bitmap patch work on 2.1.x you will need to change the "allocate thread
struct" macro to allocate 16K instead of 8K and make sure that the right
number goes into tss->esp0.
imc
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html