Hi,
preempt stuff SHOULD only stay in #ifdef CONFIG_PREEMP_* , but it is
messing with everyone even though not defined.
e.g.
1. linux-2.6.19/kernel/spinlock.c
Line 18: #include <linux/preempt.h>
Line 26: preempt_disable();
Line 32: preempt_disable();
and so on .
2. linux-2.6.19/kernel/sched.c
Line 1096: int preempted;
Line 1104: preempted = !task_running(rq, p);
Line 1106: if (preempted)
Line 2059: if (TASK_PREEMPTS_CURR(p, this_rq))
Line 3355: current->comm, preempt_count(), current->pid);
Line 3342: preempt_disable();
Line 3375: if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) {
[...]
70 to 80 % of this code is removed when compiled.
but 20 to 30 % code left in binary kernel image.
Why Linux kernel is wasting its resources which is not defined at all.
Any solution ?
Thank you,
Best Regards,
Jaswinder Singh.