Performance and power management for multi-core processors