Index: kernel/generic/include/ps/taskinfo.h
===================================================================
--- kernel/generic/include/ps/taskinfo.h	(revision f773206d4e59480542f9fecae5c95c53bb888e6f)
+++ kernel/generic/include/ps/taskinfo.h	(revision 34bba0e9424b4550e78c0742e0ca374742498082)
@@ -75,4 +75,5 @@
 	int priority;
 	uint64_t cycles;
+	unsigned int cpu;
 } thread_info_t;
 
Index: kernel/generic/src/ps/ps.c
===================================================================
--- kernel/generic/src/ps/ps.c	(revision f773206d4e59480542f9fecae5c95c53bb888e6f)
+++ kernel/generic/src/ps/ps.c	(revision 34bba0e9424b4550e78c0742e0ca374742498082)
@@ -170,4 +170,9 @@
 	result.cycles = t->cycles;
 
+	if (t->cpu)
+		result.cpu = t->cpu->id;
+	else
+		result.cpu = -1;
+
 	WRITE_THREAD_INFO(infos, count - 1, &result);
 
@@ -187,4 +192,8 @@
 	spinlock_unlock(&tasks_lock);
 
+	if (!selected_task) {
+		return 0;
+	}
+
 	spinlock_lock(&threads_lock);
 
