The context can make it somewhat clearer (emphasis mine):
> This allowed _architectures with few registers, such as x86_ , to calculate the location of the process descriptor via the stack pointer without using an extra register to store the location.With the process descriptor now dynamically created via the slab allocator, a new structure, `struct thread_info`, was created that again lives at the bottom of the stack (for stacks that grow down) and at the top of the stack (for stacks that grow up).3
>
> 3 Register-impaired architectures were not the only reason for creating `struct thread_info`.
The author is just joking about the architectures like x86 having few registers. "X-impaired" ~ X is diminished compared to others. (For example, "financially impaired" = does not have enough money.)