Re: Preempt on PowerPC/SMP appears to leak memory

Marc-Christian Petersen
2003-04-13T23:01:02Z

[-- Attachment #1: Type: text/plain, Size: 490 bytes --]

On Monday 14 April 2003 01:07, Robert Love wrote:

Hi Robert,

> On Sun, 2003-04-13 at 19:03, Marc-Christian Petersen wrote:
> > This is an incremental diff snipplet. The second preempt_disable();
> > should be a preempt_enable(); no?
> Yep. Thanks.
np. Two other small fixes you may want to include are attached.

1. fix "Exited with preempt count" if you exit kernel-nfsd
2. fix "Exited with preempt count" at machine_halt(); and machine_power_off();

Attached in this order.

ciao, Marc

[-- Attachment #2: 00_preempt-kernel-rml-2.4.20-nfsd-fix.patch --]
[-- Type: text/x-diff, Size: 282 bytes --]

--- linux-old/fs/nfsd/nfssvc.c 2002-12-18 01:03:59.000000000 +0100
+++ linux-wolk4/fs/nfsd//nfssvc.c 2003-01-01 06:53:44.000000000 +0100
@@ -250,6 +250,7 @@ nfsd(struct svc_rqst *rqstp)
svc_exit_thread(rqstp);

/* Release module */
+ unlock_kernel();
MOD_DEC_USE_COUNT;
}

[-- Attachment #3: 01_preempt-kernel-rml-2.4.20-halt-reboot-fix.patch --]
[-- Type: text/x-diff, Size: 599 bytes --]

--- linux-old/kernel/sys.c 2003-01-06 17:57:12.000000000 +0100
+++ linux-wolk4/kernel/sys.c 2003-01-06 18:34:59.000000000 +0100
@@ -354,6 +354,7 @@ asmlinkage long sys_reboot(int magic1, i
notifier_call_chain(&reboot_notifier_list, SYS_HALT, NULL);
printk(KERN_EMERG "System halted.\n");
machine_halt();
+ unlock_kernel();
do_exit(0);
break;

@@ -361,6 +362,7 @@ asmlinkage long sys_reboot(int magic1, i
notifier_call_chain(&reboot_notifier_list, SYS_POWER_OFF, NULL);
printk(KERN_EMERG "Power down.\n");
machine_power_off();
+ unlock_kernel();
do_exit(0);
break;