Home » Mailing lists » Devel » BC: resource beancounters (v6) (with userpages reclamation + configfs)
[PATCH 12/13] BC: numtasks accounting [message #8172 is a reply to message #8159] |
Thu, 09 November 2006 17:02   |
dev
Messages: 1693 Registered: September 2005 Location: Moscow
|
Senior Member |

|
|
Beautifull tasks accounting/limiting beancounter control.
Signed-off-by: Pavel Emelianov <xemul@sw.ru>
Signed-off-by: Kirill Korotaev <dev@sw.ru>
---
include/linux/sched.h | 1 +
kernel/bc/misc.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+)
--- ./include/linux/sched.h.bctasks 2006-11-03 17:47:38.000000000 +0300
+++ ./include/linux/sched.h 2006-11-03 17:51:57.000000000 +0300
@@ -1068,6 +1068,7 @@ int copy_beancounter(struct task_struct
#endif
#ifdef CONFIG_BEANCOUNTERS
struct beancounter *exec_bc;
+ struct beancounter *task_bc;
#endif
};
--- ./kernel/bc/misc.c.bctasks 2006-11-03 17:47:38.000000000 +0300
+++ ./kernel/bc/misc.c 2006-11-03 17:51:57.000000000 +0300
@@ -17,6 +17,10 @@ int copy_beancounter(struct task_struct
struct beancounter *bc;
bc = parent->exec_bc;
+ if (bc_charge(bc, BC_NUMTASKS, 1, BC_LIMIT))
+ return -ENOMEM;
+
+ tsk->task_bc = bc_get(bc);
tsk->exec_bc = bc_get(bc);
return 0;
}
@@ -25,6 +29,10 @@ void free_beancounter(struct task_struct
{
struct beancounter *bc;
+ bc = tsk->task_bc;
+ bc_uncharge(bc, BC_NUMTASKS, 1);
+ bc_put(bc);
+
bc = tsk->exec_bc;
bc_put(bc);
}
@@ -86,3 +94,26 @@ int bc_task_move(struct task_struct *tsk
return err;
}
EXPORT_SYMBOL(bc_task_move);
+
+#define BC_NUMTASKS_BARRIER 128
+#define BC_NUMTASKS_LIMIT 128
+
+static int bc_task_init(struct beancounter *bc, int i)
+{
+ bc_init_resource(&bc->bc_parms[BC_NUMTASKS],
+ BC_NUMTASKS_BARRIER, BC_NUMTASKS_LIMIT);
+ return 0;
+}
+
+static struct bc_resource bc_task_resource = {
+ .bcr_name = "numtasks",
+ .bcr_init = bc_task_init,
+};
+
+static int __init bc_misc_init_resource(void)
+{
+ bc_register_resource(BC_NUMTASKS, &bc_task_resource);
+ return 0;
+}
+
+__initcall(bc_misc_init_resource);
|
|
|
 |
|
BC: resource beancounters (v6) (with userpages reclamation + configfs)
By: dev on Thu, 09 November 2006 16:42
|
 |
|
[PATCH 1/13] BC: atomic_dec_and_lock_irqsave() helper
By: dev on Thu, 09 November 2006 16:47
|
 |
|
Re: [PATCH 1/13] BC: atomic_dec_and_lock_irqsave() helper
|
 |
|
Re: [PATCH 1/13] BC: atomic_dec_and_lock_irqsave() helper
By: dev on Fri, 10 November 2006 16:40
|
 |
|
[PATCH 2/13] BC: Kconfig and Makefile
By: dev on Thu, 09 November 2006 16:47
|
 |
|
[PATCH 3/13] BC: beancounters core and API
By: dev on Thu, 09 November 2006 16:49
|
 |
|
[PATCH 4/13] BC: context handling
By: dev on Thu, 09 November 2006 16:51
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
Re: [ckrm-tech] [PATCH 4/13] BC: context handling
|
 |
|
[PATCH 5/13] BC: configfs interface
By: dev on Thu, 09 November 2006 16:52
|
 |
|
[PATCH 6/13] BC: kmemsize accounting (core)
By: dev on Thu, 09 November 2006 16:53
|
 |
|
Re: [PATCH 6/13] BC: kmemsize accounting (core)
|
 |
|
Re: [PATCH 6/13] BC: kmemsize accounting (core)
|
 |
|
Re: [PATCH 6/13] BC: kmemsize accounting (core)
|
 |
|
Re: [PATCH 6/13] BC: kmemsize accounting (core)
|
 |
|
Re: [PATCH 6/13] BC: kmemsize accounting (core)
|
 |
|
[PATCH 7/13] BC: kmemsize accounting (hooks)
By: dev on Thu, 09 November 2006 16:54
|
 |
|
[PATCH 8/13] BC: privvmpages accounting (core)
By: dev on Thu, 09 November 2006 16:56
|
 |
|
[PATCH 9/13] BC: privvmpages accounting (hooks)
By: dev on Thu, 09 November 2006 16:57
|
 |
|
[PATCH 10/13] BC: physpages accounting (core)
By: dev on Thu, 09 November 2006 16:59
|
 |
|
[PATCH 11/13] BC: physpages accounting (hooks)
By: dev on Thu, 09 November 2006 17:01
|
 |
|
[PATCH 12/13] BC: numtasks accounting
By: dev on Thu, 09 November 2006 17:02
|
 |
|
[PATCH 13/13] BC: numfiles accounting
By: dev on Thu, 09 November 2006 17:03
|
 |
|
Re: BC: resource beancounters (v6) (with userpages reclamation + configfs)
|
Goto Forum:
Current Time: Mon Sep 08 02:02:10 GMT 2025
Total time taken to generate the page: 0.09018 seconds
|