patch-2.3.51 linux/kernel/exit.c
Next file: linux/kernel/fork.c
Previous file: linux/kernel/acct.c
Back to the patch index
Back to the overall index
- Lines: 19
- Date:
Fri Mar 10 15:33:42 2000
- Orig file:
v2.3.50/linux/kernel/exit.c
- Orig date:
Sat Feb 26 22:32:07 2000
diff -u --recursive --new-file v2.3.50/linux/kernel/exit.c linux/kernel/exit.c
@@ -45,6 +45,18 @@
current->cmin_flt += p->min_flt + p->cmin_flt;
current->cmaj_flt += p->maj_flt + p->cmaj_flt;
current->cnswap += p->nswap + p->cnswap;
+ /*
+ * Potentially available timeslices are retrieved
+ * here - this way the parent does not get penalized
+ * for creating too many processes.
+ *
+ * (this cannot be used to artificially 'generate'
+ * timeslices, because any timeslice recovered here
+ * was given away by the parent in the first place.)
+ */
+ current->counter += p->counter;
+ if (current->counter > current->priority)
+ current->counter = current->priority;
free_task_struct(p);
} else {
printk("task releasing itself\n");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)