Re: process 0 (swapper)
Hi, we see this code in proc_pid_lookup: tgid = name_to_int(dentry); if (tgid == ~0U) goto out; In other words, if you ask for pid 0, it bails and doesn't return anything. Are you sure that this is what it cjecks? ~0U is not 0 but -1; for example, try: printf(%d\n,~0U ); printf(%x\n,~0U ); printf(%x\n,-1 ); and you get: -1 rgs Kevin ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: process 0 (swapper)
On Sat, 2013-02-16 at 18:48 +0200, Kevin Wilson wrote: Hi, we see this code in proc_pid_lookup: tgid = name_to_int(dentry); if (tgid == ~0U) goto out; It is the error case when name can't be converted to integer i.e. name is wrong. In other words, if you ask for pid 0, it bails and doesn't return anything. Are you sure that this is what it cjecks? ~0U is not 0 but -1; right for example, try: printf(%d\n,~0U ); printf(%x\n,~0U ); printf(%x\n,-1 ); and you get: -1 rgs Kevin ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: process 0 (swapper)
On Sat, 16 Feb 2013 18:48:52 +0200, Kevin Wilson said: ~0U is not 0 but -1; -ENOCAFFEINE. You'd think that after having done kernel-level C programming since the days of SunOS 3.1.5 and BSD 4.2 I'd k know better. ;) pgpBxhyWvlc2R.pgp Description: PGP signature ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
process 0 (swapper)
Hi, I see that the idle process (process 0) , is called swapper. init_idle() in kernel/sched/core.c: ... #if defined(CONFIG_SMP) sprintf(idle-comm, %s/%d, INIT_TASK_COMM, cpu); #endif ... #define INIT_TASK_COMM swapper in include/linux/init_task.h Two questions: 1) why does this #if defined(CONFIG_SMP) here ? shouldn't we name it swapper also in non SMP mode ? 2) Is there a reason that we do not see it with ps aux (and also not under proc; there is no /proc/0). - 1) no process 0; processes start from 1. - 2) following command gives nothing: ps aux | grep -i swapper rgs, Kevin ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies