Given $A \in \mathrm{GL}_m(\mathbb{C})$, I can conjugate it by some $B \in \mathrm{GL}_m(\mathbb{C})$ into its Jordan normal form. That is, for some $n\le m$, there exists a $J \in \mathrm{GL}_n(\mathbb{C})$ containing all Jordan blocks which are not the $1 \times 1$ block with entry $1$ such that our Jordan normal form looks like \begin{align} BAB^{-1}= \begin{pmatrix} J & 0 & \dots &0 \\ 0 & 1 & \dots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & 1 \end{pmatrix} \end{align}
In my setting the parameter $m$ is to be thought of as large and $n$ as small, and we define $n$ to be the size of $A$.
My question is if such a $B$ can be chosen in an efficient way. That is, is there such a $B$ which conjugates $A$ into its Jordan normal form and $B$ has linearly bounded size $ \leq Kn$ for some $K \in \mathbb{N}$ itself? That means that a Jordan normal form of $B$ has a linearly bounded number of nontrivial Jordan blocks for a particular choice of $B$ or equivalently a choice of $B$ which has a large subspace on which it acts by the identity, if that was already true for $A$.