--- olpc-2.6-master.00/arch/alpha/kernel/semaphore.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/alpha/kernel/semaphore.c	2007-03-01 11:52:20.000000000 -0500
@@ -68,8 +68,8 @@ __down_failed(struct semaphore *sem)
 	DECLARE_WAITQUEUE(wait, tsk);
 
 #ifdef CONFIG_DEBUG_SEMAPHORE
-	printk("%s(%d): down failed(%p)\n",
-	       tsk->comm, tsk->pid, sem);
+	printk("%s(%d:#%u): down failed(%p)\n",
+	       tsk->comm, tsk->pid, tsk->xid, sem);
 #endif
 
 	tsk->state = TASK_UNINTERRUPTIBLE;
--- olpc-2.6-master.00/arch/alpha/kernel/semaphore.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/alpha/kernel/semaphore.c	2007-03-01 11:52:20.000000000 -0500
@@ -97,8 +97,8 @@ __down_failed(struct semaphore *sem)
 	wake_up(&sem->wait);
 
 #ifdef CONFIG_DEBUG_SEMAPHORE
-	printk("%s(%d): down acquired(%p)\n",
-	       tsk->comm, tsk->pid, sem);
+	printk("%s(%d:#%u): down acquired(%p)\n",
+	       tsk->comm, tsk->pid, tsk->xid, sem);
 #endif
 }
 
--- olpc-2.6-master.00/arch/alpha/kernel/semaphore.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/alpha/kernel/semaphore.c	2007-03-01 11:52:20.000000000 -0500
@@ -110,8 +110,8 @@ __down_failed_interruptible(struct semap
 	long ret = 0;
 
 #ifdef CONFIG_DEBUG_SEMAPHORE
-	printk("%s(%d): down failed(%p)\n",
-	       tsk->comm, tsk->pid, sem);
+	printk("%s(%d:#%u): down failed(%p)\n",
+	       tsk->comm, tsk->pid, tsk->xid, sem);
 #endif
 
 	tsk->state = TASK_INTERRUPTIBLE;
--- olpc-2.6-master.00/arch/alpha/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/alpha/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -182,7 +182,8 @@ die_if_kernel(char * str, struct pt_regs
 #ifdef CONFIG_SMP
 	printk("CPU %d ", hard_smp_processor_id());
 #endif
-	printk("%s(%d): %s %ld\n", current->comm, current->pid, str, err);
+	printk("%s(%d[#%u]): %s %ld\n", current->comm,
+		current->pid, current->xid, str, err);
 	dik_show_regs(regs, r9_15);
 	dik_show_trace((unsigned long *)(regs+1));
 	dik_show_code((unsigned int *)regs->pc);
--- olpc-2.6-master.00/arch/alpha/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/alpha/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -198,8 +198,8 @@ do_page_fault(unsigned long address, uns
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk(KERN_ALERT "VM: killing process %s(%d)\n",
-	       current->comm, current->pid);
+	printk(KERN_ALERT "VM: killing process %s(%d:#%u)\n",
+	       current->comm, current->pid, current->xid);
 	if (!user_mode(regs))
 		goto no_context;
 	do_exit(SIGKILL);
--- olpc-2.6-master.00/arch/arm/kernel/process.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/arm/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -252,7 +252,8 @@ void __show_regs(struct pt_regs *regs)
 void show_regs(struct pt_regs * regs)
 {
 	printk("\n");
-	printk("Pid: %d, comm: %20s\n", current->pid, current->comm);
+	printk("Pid: %d[#%u], comm: %20s\n",
+		current->pid, current->xid, current->comm);
 	__show_regs(regs);
 	__backtrace();
 }
--- olpc-2.6-master.00/arch/arm/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/arm/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -199,8 +199,8 @@ static void __die(const char *str, int e
 	printk("Internal error: %s: %x [#%d]\n", str, err, ++die_counter);
 	print_modules();
 	__show_regs(regs);
-	printk("Process %s (pid: %d, stack limit = 0x%p)\n",
-		tsk->comm, tsk->pid, thread + 1);
+	printk("Process %s (pid: %d:#%u, stack limit = 0x%p)\n",
+		tsk->comm, tsk->pid, tsk->xid, thread + 1);
 
 	if (!user_mode(regs) || in_interrupt()) {
 		dump_mem("Stack: ", regs->ARM_sp,
--- olpc-2.6-master.00/arch/arm/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/arm/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -267,7 +267,8 @@ do_page_fault(unsigned long addr, unsign
 		 * happened to us that made us unable to handle
 		 * the page fault gracefully.
 		 */
-		printk("VM: killing process %s\n", tsk->comm);
+		printk("VM: killing process %s(%d:#%u)\n",
+			tsk->comm, tsk->pid, tsk->xid);
 		do_exit(SIGKILL);
 		return 0;
 
--- olpc-2.6-master.00/arch/arm26/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/arm26/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -185,8 +185,9 @@ NORET_TYPE void die(const char *str, str
 	printk("Internal error: %s: %x\n", str, err);
 	printk("CPU: %d\n", smp_processor_id());
 	show_regs(regs);
-	printk("Process %s (pid: %d, stack limit = 0x%p)\n",
-		current->comm, current->pid, end_of_stack(tsk));
+	printk("Process %s (pid: %d[#%u], stack limit = 0x%p)\n",
+		current->comm, current->pid,
+		current->xid, end_of_stack(tsk));
 
 	if (!user_mode(regs) || in_interrupt()) {
 		__dump_stack(tsk, (unsigned long)(regs + 1));
--- olpc-2.6-master.00/arch/i386/kernel/process.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/i386/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -297,8 +297,10 @@ void show_regs(struct pt_regs * regs)
 	unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
 
 	printk("\n");
-	printk("Pid: %d, comm: %20s\n", current->pid, current->comm);
-	printk("EIP: %04x:[<%08lx>] CPU: %d\n",0xffff & regs->xcs,regs->eip, smp_processor_id());
+	printk("Pid: %d[#%u], comm: %20s\n",
+		current->pid, current->xid, current->comm);
+	printk("EIP: %04x:[<%08lx>] CPU: %d\n",
+		0xffff & regs->xcs,regs->eip, smp_processor_id());
 	print_symbol("EIP is at %s\n", regs->eip);
 
 	if (user_mode_vm(regs))
--- olpc-2.6-master.00/arch/i386/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/i386/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -317,8 +319,8 @@ void show_registers(struct pt_regs *regs
 		regs->esi, regs->edi, regs->ebp, esp);
 	printk(KERN_EMERG "ds: %04x   es: %04x   fs: %04x  gs: %04x  ss: %04x\n",
 	       regs->xds & 0xffff, regs->xes & 0xffff, regs->xfs & 0xffff, gs, ss);
-	printk(KERN_EMERG "Process %.*s (pid: %d, ti=%p task=%p task.ti=%p)",
-		TASK_COMM_LEN, current->comm, current->pid,
+	printk(KERN_EMERG "Process %.*s (pid: %d:#%u, ti=%p task=%p task.ti=%p)",
+		TASK_COMM_LEN, current->comm, current->pid, current->xid,
 		current_thread_info(), current, current->thread_info);
 	/*
 	 * When in-kernel, we also print out the stack and code at the
--- olpc-2.6-master.00/arch/i386/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/i386/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -566,7 +566,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (error_code & 4)
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/ia64/kernel/process.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/ia64/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -106,7 +106,8 @@ show_regs (struct pt_regs *regs)
 	unsigned long ip = regs->cr_iip + ia64_psr(regs)->ri;
 
 	print_modules();
-	printk("\nPid: %d, CPU %d, comm: %20s\n", current->pid, smp_processor_id(), current->comm);
+	printk("\nPid: %d[#%u], CPU %d, comm: %20s\n",
+		current->pid, current->xid, smp_processor_id(), current->comm);
 	printk("psr : %016lx ifs : %016lx ip  : [<%016lx>]    %s\n",
 	       regs->cr_ipsr, regs->cr_ifs, ip, print_tainted());
 	print_symbol("ip is at %s\n", ip);
--- olpc-2.6-master.00/arch/ia64/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/ia64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -76,8 +76,9 @@ die (const char *str, struct pt_regs *re
 	put_cpu();
 
 	if (++die.lock_owner_depth < 3) {
-		printk("%s[%d]: %s %ld [%d]\n",
-			current->comm, current->pid, str, err, ++die_counter);
+		printk("%s[%d[#%u]]: %s %ld [%d]\n",
+			current->comm, current->pid, current->xid,
+			str, err, ++die_counter);
 		(void) notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV);
 		show_regs(regs);
   	} else
--- olpc-2.6-master.00/arch/ia64/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/ia64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -329,8 +330,9 @@ handle_fpu_swa (int fp_fault, struct pt_
 			if ((last.count & 15) < 5 && (ia64_fetchadd(1, &last.count, acq) & 15) < 5) {
 				last.time = current_jiffies + 5 * HZ;
 				printk(KERN_WARNING
-		       			"%s(%d): floating-point assist fault at ip %016lx, isr %016lx\n",
-		       			current->comm, current->pid, regs->cr_iip + ia64_psr(regs)->ri, isr);
+					"%s(%d[#%u]): floating-point assist fault at ip %016lx, isr %016lx\n",
+					current->comm, current->pid, current->xid,
+					regs->cr_iip + ia64_psr(regs)->ri, isr);
 			}
 		}
 	}
--- olpc-2.6-master.00/arch/m32r/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/m32r/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -195,8 +195,9 @@ static void show_registers(struct pt_reg
 	} else {
 		printk("SPI: %08lx\n", sp);
 	}
-	printk("Process %s (pid: %d, process nr: %d, stackpage=%08lx)",
-		current->comm, current->pid, 0xffff & i, 4096+(unsigned long)current);
+	printk("Process %s (pid: %d[#%u], process nr: %d, stackpage=%08lx)",
+		current->comm, current->pid, current->xid,
+		0xffff & i, 4096+(unsigned long)current);
 
 	/*
 	 * When in-kernel, we also print out the stack and code at the
--- olpc-2.6-master.00/arch/m68k/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/m68k/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -899,8 +899,8 @@ void show_registers(struct pt_regs *regs
 	printk("d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
 	       regs->d4, regs->d5, regs->a0, regs->a1);
 
-	printk("Process %s (pid: %d, task=%p)\n",
-		current->comm, current->pid, current);
+	printk("Process %s (pid: %d[#%u], task=%p)\n",
+		current->comm, current->pid, current->xid, current);
 	addr = (unsigned long)&fp->un;
 	printk("Frame format=%X ", regs->format);
 	switch (regs->format) {
--- olpc-2.6-master.00/arch/m68knommu/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/m68knommu/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -80,8 +80,9 @@ void die_if_kernel(char *str, struct pt_
 	printk(KERN_EMERG "d4: %08lx    d5: %08lx    a0: %08lx    a1: %08lx\n",
 	       fp->d4, fp->d5, fp->a0, fp->a1);
 
-	printk(KERN_EMERG "Process %s (pid: %d, stackpage=%08lx)\n",
-		current->comm, current->pid, PAGE_SIZE+(unsigned long)current);
+	printk(KERN_EMERG "Process %s (pid: %d[#%u], stackpage=%08lx)\n",
+		current->comm, current->pid, current->xid,
+		PAGE_SIZE+(unsigned long)current);
 	show_stack(NULL, (unsigned long *)fp);
 	do_exit(SIGSEGV);
 }
--- olpc-2.6-master.00/arch/mips/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/mips/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -302,8 +302,9 @@ void show_registers(struct pt_regs *regs
 {
 	show_regs(regs);
 	print_modules();
-	printk("Process %s (pid: %d, threadinfo=%p, task=%p)\n",
-	        current->comm, current->pid, current_thread_info(), current);
+	printk("Process %s (pid: %d:#%u, threadinfo=%p, task=%p)\n",
+		current->comm, current->pid, current->xid,
+		current_thread_info(), current);
 	show_stacktrace(current, regs);
 	show_code((unsigned int *) regs->cp0_epc);
 	printk("\n");
--- olpc-2.6-master.00/arch/mips/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/mips/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -180,7 +180,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/parisc/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/parisc/kernel/traps.c	2007-03-01 11:53:07.000000000 -0500
@@ -219,8 +219,9 @@ void die_if_kernel(char *str, struct pt_
 		if (err == 0)
 			return; /* STFU */
 
-		printk(KERN_CRIT "%s (pid %d): %s (code %ld) at " RFMT "\n",
-			current->comm, current->pid, str, err, regs->iaoq[0]);
+		printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld) at " RFMT "\n",
+			current->comm, current->pid, current->xid,
+			str, err, regs->iaoq[0]);
 #ifdef PRINT_USER_FAULTS
 		/* XXX for debugging only */
 		show_regs(regs);
--- olpc-2.6-master.00/arch/parisc/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/parisc/kernel/traps.c	2007-03-01 11:53:07.000000000 -0500
@@ -252,8 +253,8 @@ KERN_CRIT "                     ||     |
 		pdc_console_restart();
 	
 	if (err)
-		printk(KERN_CRIT "%s (pid %d): %s (code %ld)\n",
-			current->comm, current->pid, str, err);
+		printk(KERN_CRIT "%s (pid %d:#%u): %s (code %ld)\n",
+			current->comm, current->pid, current->xid, str, err);
 
 	/* Wot's wrong wif bein' racy? */
 	if (current->thread.flags & PARISC_KERNEL_DEATH) {
--- olpc-2.6-master.00/arch/parisc/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/parisc/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -209,8 +209,9 @@ bad_area:
 
 #ifdef PRINT_USER_FAULTS
 		printk(KERN_DEBUG "\n");
-		printk(KERN_DEBUG "do_page_fault() pid=%d command='%s' type=%lu address=0x%08lx\n",
-		    tsk->pid, tsk->comm, code, address);
+		printk(KERN_DEBUG "do_page_fault() pid=%d:#%u "
+		    "command='%s' type=%lu address=0x%08lx\n",
+		    tsk->pid, tsk->xid, tsk->comm, code, address);
 		if (vma) {
 			printk(KERN_DEBUG "vm_start = 0x%08lx, vm_end = 0x%08lx\n",
 					vma->vm_start, vma->vm_end);
--- olpc-2.6-master.00/arch/parisc/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/parisc/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -260,7 +261,8 @@ no_context:
 
   out_of_memory:
 	up_read(&mm->mmap_sem);
-	printk(KERN_CRIT "VM: killing process %s\n", current->comm);
+	printk(KERN_CRIT "VM: killing process %s(%d:#%u)\n",
+		current->comm, current->pid, current->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/powerpc/kernel/process.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/powerpc/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -425,8 +425,9 @@ void show_regs(struct pt_regs * regs)
 	trap = TRAP(regs);
 	if (trap == 0x300 || trap == 0x600)
 		printk("DAR: "REG", DSISR: "REG"\n", regs->dar, regs->dsisr);
-	printk("TASK = %p[%d] '%s' THREAD: %p",
-	       current, current->pid, current->comm, task_thread_info(current));
+	printk("TASK = %p[%d,#%u] '%s' THREAD: %p",
+	       current, current->pid, current->xid,
+	       current->comm, task_thread_info(current));
 
 #ifdef CONFIG_SMP
 	printk(" CPU: %d", smp_processor_id());
--- olpc-2.6-master.00/arch/powerpc/kernel/traps.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/powerpc/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -860,8 +860,9 @@ void nonrecoverable_exception(struct pt_
 
 void trace_syscall(struct pt_regs *regs)
 {
-	printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld    %s\n",
-	       current, current->pid, regs->nip, regs->link, regs->gpr[0],
+	printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld    %s\n",
+	       current, current->pid, current->xid,
+	       regs->nip, regs->link, regs->gpr[0],
 	       regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
 }
 
--- olpc-2.6-master.00/arch/powerpc/mm/fault.c	2007-02-28 20:05:25.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/powerpc/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -391,7 +391,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", current->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		current->comm, current->pid, current->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	return SIGKILL;
--- olpc-2.6-master.00/arch/ppc/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/ppc/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -696,8 +696,9 @@ void nonrecoverable_exception(struct pt_
 
 void trace_syscall(struct pt_regs *regs)
 {
-	printk("Task: %p(%d), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld    %s\n",
-	       current, current->pid, regs->nip, regs->link, regs->gpr[0],
+	printk("Task: %p(%d[#%u]), PC: %08lX/%08lX, Syscall: %3ld, Result: %s%ld    %s\n",
+	       current, current->pid, current->xid,
+	       regs->nip, regs->link, regs->gpr[0],
 	       regs->ccr&0x10000000?"Error=":"", regs->gpr[3], print_tainted());
 }
 
--- olpc-2.6-master.00/arch/ppc/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/ppc/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -296,7 +296,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", current->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		current->comm, current->pid, current->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	return SIGKILL;
--- olpc-2.6-master.00/arch/s390/kernel/process.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/s390/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -165,9 +165,9 @@ void show_regs(struct pt_regs *regs)
 	struct task_struct *tsk = current;
 
         printk("CPU:    %d    %s\n", task_thread_info(tsk)->cpu, print_tainted());
-        printk("Process %s (pid: %d, task: %p, ksp: %p)\n",
-	       current->comm, current->pid, (void *) tsk,
-	       (void *) tsk->thread.ksp);
+	printk("Process %s (pid: %d[#%u], task: %p, ksp: %p)\n",
+	       current->comm, current->pid, current->xid,
+	       (void *) tsk, (void *) tsk->thread.ksp);
 
 	show_registers(regs);
 	/* Show stack backtrace if pt_regs is from kernel mode */
--- olpc-2.6-master.00/arch/s390/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/s390/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -441,7 +441,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (regs->psw.mask & PSW_MASK_PSTATE)
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/sh/kernel/process.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sh/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -90,7 +90,8 @@ void machine_power_off(void)
 void show_regs(struct pt_regs * regs)
 {
 	printk("\n");
-	printk("Pid : %d, Comm: %20s\n", current->pid, current->comm);
+	printk("Pid : %d:#%u, Comm: %20s\n",
+		current->pid, current->xid, current->comm);
 	print_symbol("PC is at %s\n", instruction_pointer(regs));
 	printk("PC  : %08lx SP  : %08lx SR  : %08lx ",
 	       regs->pc, regs->regs[15], regs->sr);
--- olpc-2.6-master.00/arch/sh/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sh/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -203,7 +203,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/sh64/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sh64/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -82,7 +82,7 @@ static inline void print_vma(struct vm_a
 
 static inline void print_task(struct task_struct *tsk)
 {
-	printk("Task pid %d\n", tsk->pid);
+	printk("Task pid %d:#%u\n", tsk->pid, tsk->xid);
 }
 
 static pte_t *lookup_pte(struct mm_struct *mm, unsigned long address)
--- olpc-2.6-master.00/arch/sh64/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sh64/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -331,7 +331,8 @@ out_of_memory:
 		down_read(&mm->mmap_sem);
 		goto survive;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (user_mode(regs))
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/sparc/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sparc/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -99,7 +99,8 @@ void die_if_kernel(char *str, struct pt_
 "              /_| \\__/ |_\\\n"
 "                 \\__U_/\n");
 
-	printk("%s(%d): %s [#%d]\n", current->comm, current->pid, str, ++die_counter);
+	printk("%s(%d[#%u]): %s [#%d]\n", current->comm,
+		current->pid, current->xid, str, ++die_counter);
 	show_regs(regs);
 
 	__SAVE; __SAVE; __SAVE; __SAVE;
--- olpc-2.6-master.00/arch/sparc/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sparc/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -368,7 +368,8 @@ no_context:
  */
 out_of_memory:
 	up_read(&mm->mmap_sem);
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (from_user)
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/arch/sparc64/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sparc64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -2233,7 +2233,8 @@ void die_if_kernel(char *str, struct pt_
 "              /_| \\__/ |_\\\n"
 "                 \\__U_/\n");
 
-	printk("%s(%d): %s [#%d]\n", current->comm, current->pid, str, ++die_counter);
+	printk("%s(%d[#%u]): %s [#%d]\n", current->comm,
+		current->pid, current->xid, str, ++die_counter);
 	notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV);
 	__asm__ __volatile__("flushw");
 	__show_regs(regs);
--- olpc-2.6-master.00/arch/sparc64/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/sparc64/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -484,7 +484,8 @@ handle_kernel_fault:
 out_of_memory:
 	insn = get_fault_insn(regs, insn);
 	up_read(&mm->mmap_sem);
-	printk("VM: killing process %s\n", current->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		current->comm, current->pid, current->xid);
 	if (!(regs->tstate & TSTATE_PRIV))
 		do_exit(SIGKILL);
 	goto handle_kernel_fault;
--- olpc-2.6-master.00/arch/um/kernel/trap.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/um/kernel/trap.c	2007-03-01 12:01:34.000000000 -0500
@@ -204,7 +204,8 @@ unsigned long segv(struct faultinfo fi, 
                 current->thread.arch.faultinfo = fi;
 		force_sig_info(SIGBUS, &si, current);
 	} else if (err == -ENOMEM) {
-		printk("VM: killing process %s\n", current->comm);
+		printk("VM: killing process %s(%d:#%u)\n",
+			current->comm, current->pid, current->xid);
 		do_exit(SIGKILL);
 	} else {
 		BUG_ON(err != -EFAULT);
--- olpc-2.6-master.00/arch/x86_64/kernel/process.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/kernel/process.c	2007-03-01 11:52:20.000000000 -0500
@@ -308,8 +309,8 @@ void __show_regs(struct pt_regs * regs)
 
 	printk("\n");
 	print_modules();
-	printk("Pid: %d, comm: %.20s %s %s %.*s\n",
-		current->pid, current->comm, print_tainted(),
+	printk("Pid: %d:#%u, comm: %.20s %s %s %.*s\n",
+		current->pid, current->xid, current->comm, print_tainted(),
 		init_utsname()->release,
 		(int)strcspn(init_utsname()->version, " "),
 		init_utsname()->version);
--- olpc-2.6-master.00/arch/x86_64/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -430,8 +430,9 @@ void show_registers(struct pt_regs *regs
 
 	printk("CPU %d ", cpu);
 	__show_regs(regs);
-	printk("Process %s (pid: %d, threadinfo %p, task %p)\n",
-		cur->comm, cur->pid, task_thread_info(cur), cur);
+	printk("Process %s (pid: %d[#%u], threadinfo %p, task %p)\n",
+		cur->comm, cur->pid, cur->xid,
+		task_thread_info(cur), cur);
 
 	/*
 	 * When in-kernel, we also print out the stack and code at the
--- olpc-2.6-master.00/arch/x86_64/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -587,8 +588,8 @@ static void __kprobes do_trap(int trapnr
 	if (user_mode(regs)) {
 		if (exception_trace && unhandled_signal(tsk, signr))
 			printk(KERN_INFO
-			       "%s[%d] trap %s rip:%lx rsp:%lx error:%lx\n",
-			       tsk->comm, tsk->pid, str,
+			       "%s[%d:#%u] trap %s rip:%lx rsp:%lx error:%lx\n",
+			       tsk->comm, tsk->pid, tsk->xid, str,
 			       regs->rip, regs->rsp, error_code); 
 
 		if (info)
--- olpc-2.6-master.00/arch/x86_64/kernel/traps.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/kernel/traps.c	2007-03-01 11:52:20.000000000 -0500
@@ -688,8 +689,8 @@ asmlinkage void __kprobes do_general_pro
 	if (user_mode(regs)) {
 		if (exception_trace && unhandled_signal(tsk, SIGSEGV))
 			printk(KERN_INFO
-		       "%s[%d] general protection rip:%lx rsp:%lx error:%lx\n",
-			       tsk->comm, tsk->pid,
+		       "%s[%d:#%u] general protection rip:%lx rsp:%lx error:%lx\n",
+			       tsk->comm, tsk->pid, tsk->xid,
 			       regs->rip, regs->rsp, error_code); 
 
 		force_sig(SIGSEGV, tsk);
--- olpc-2.6-master.00/arch/x86_64/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -491,10 +491,10 @@ bad_area_nosemaphore:
 
 		if (exception_trace && unhandled_signal(tsk, SIGSEGV)) {
 			printk(
-		       "%s%s[%d]: segfault at %016lx rip %016lx rsp %016lx error %lx\n",
+		       "%s%s[%d:#%u]: segfault at %016lx rip %016lx rsp %016lx error %lx\n",
 					tsk->pid > 1 ? KERN_INFO : KERN_EMERG,
-					tsk->comm, tsk->pid, address, regs->rip,
-					regs->rsp, error_code);
+					tsk->comm, tsk->pid, tsk->xid, address,
+					regs->rip, regs->rsp, error_code);
 		}
        
 		tsk->thread.cr2 = address;
--- olpc-2.6-master.00/arch/x86_64/mm/fault.c	2007-02-28 20:05:26.000000000 -0500
+++ olpc-2.6-master-vs22x.02/arch/x86_64/mm/fault.c	2007-03-01 12:01:34.000000000 -0500
@@ -561,7 +561,8 @@ out_of_memory:
 		yield();
 		goto again;
 	}
-	printk("VM: killing process %s\n", tsk->comm);
+	printk("VM: killing process %s(%d:#%u)\n",
+		tsk->comm, tsk->pid, tsk->xid);
 	if (error_code & 4)
 		do_exit(SIGKILL);
 	goto no_context;
--- olpc-2.6-master.00/mm/oom_kill.c	2007-02-28 20:05:29.000000000 -0500
+++ olpc-2.6-master-vs22x.02/mm/oom_kill.c	2007-03-01 11:52:20.000000000 -0500
@@ -154,8 +161,8 @@ unsigned long badness(struct task_struct
 	}
 
 #ifdef DEBUG
-	printk(KERN_DEBUG "OOMkill: task %d (%s) got %d points\n",
-	p->pid, p->comm, points);
+	printk(KERN_DEBUG "OOMkill: task %d:#%u (%s) got %d points\n",
+		p->pid, p->xid, p->comm, points);
 #endif
 	return points;
 }
--- olpc-2.6-master.00/mm/oom_kill.c	2007-02-28 20:05:29.000000000 -0500
+++ olpc-2.6-master-vs22x.02/mm/oom_kill.c	2007-03-01 11:52:20.000000000 -0500
@@ -284,7 +291,8 @@ static void __oom_kill_task(struct task_
 	}
 
 	if (verbose)
-		printk(KERN_ERR "Killed process %d (%s)\n", p->pid, p->comm);
+		printk(KERN_ERR "Killed process %d:#%u (%s)\n",
+				p->pid, p->xid, p->comm);
 
 	/*
 	 * We give our sacrificial lamb high priority and access to
--- olpc-2.6-master.00/mm/oom_kill.c	2007-02-28 20:05:29.000000000 -0500
+++ olpc-2.6-master-vs22x.02/mm/oom_kill.c	2007-03-01 11:52:20.000000000 -0500
@@ -354,8 +362,8 @@ static int oom_kill_process(struct task_
 		return 0;
 	}
 
-	printk(KERN_ERR "%s: kill process %d (%s) score %li or a child\n",
-					message, p->pid, p->comm, points);
+	printk(KERN_ERR "%s: kill process %d:#%u (%s) score %li or a child\n",
+				message, p->pid, p->xid, p->comm, points);
 
 	/* Try to kill a child first */
 	list_for_each(tsk, &p->children) {
