Re: process 0 (swapper)

2013-02-16 Thread Kevin Wilson
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:

Re: process 0 (swapper)

2013-02-16 Thread anish kumar
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,

Re: process 0 (swapper)

2013-02-16 Thread Valdis . Kletnieks
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

process 0 (swapper)

2013-02-15 Thread Kevin Wilson
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