For a lot of kernels, SMP was an afterthought.. and for the most part a lot of kernel code, including drivers, are confined to a single core.
http://en.wikipedia.org/wiki/Giant_lock
It's a lack of fine grained locking, and it's tricky to get right.. no clue what your problem is exactly, but it's no conspiracy.