Upon further investigation and testing, it turned out that the kernel was not 
at fault - the problem was high mutex contention, which caused frequent 
context switches, and the idle CPU was apparently from the scheduler waiting 
for the original CPU to become available too often.
On a side note, it would be nice if a process could communicate to the kernel 
that it would rather run on the first available CPU than wait for the perfect 
one to become available.
-- 
MySQL Development Team
For technical support contracts, visit https://order.mysql.com/
   __  ___     ___ ____  __ 
  /  |/  /_ __/ __/ __ \/ /   Sasha Pachev <sasha@mysql.com>
 / /|_/ / // /\ \/ /_/ / /__  MySQL AB, http://www.mysql.com/
/_/  /_/\_, /___/\___\_\___/  Provo, Utah, USA
       <___/                  
-
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/