Home » Mailing lists » Devel » [PATCH] BC: resource beancounters (v4) (added user memory)
[PATCH 12/13] BC: vmrss (core) [message #5934 is a reply to message #5922] |
Tue, 05 September 2006 15:28   |
dev
Messages: 1693 Registered: September 2005 Location: Moscow
|
Senior Member |

|
|
This is the core of vmrss accounting.
The main introduced object is page_beancounter.
It ties together page and BCs which use the page.
This allows correctly account fractions of memory shared
between BCs (http://wiki.openvz.org/RSS_fractions_accounting)
Accounting API:
1. bc_alloc_rss_counter() allocates a tie between page and BC
2. bc_free_rss_counter frees it.
(1) and (2) must be done each time a page is about
to be added to someone's rss.
3. When page is touched by BC (i.e. by any task which mm belongs to BC)
page is bc_vmrss_page_add()-ed to that BC. Touching page leads
to subtracting it from unused_prvvmpages and adding to held_pages.
4. When page is unmapped from BC it is bc_vmrss_page_del()-ed from it.
5. When task forks all it's mapped pages must be bc_vmrss_page_dup()-ed.
i.e. page beancounter reference counter must be increased.
6. Some pages (former PGReserved) must be added to rss, but without
having a reference on it. These pages are bc_vmrss_page_add_noref()-ed.
Signed-Off-By: Pavel Emelianov <xemul@sw.ru>
Signed-Off-By: Kirill Korotaev <dev@sw.ru>
---
include/bc/beancounter.h | 3
include/bc/vmpages.h | 4
include/bc/vmrss.h | 72 ++++++
include/linux/mm.h | 6
include/linux/shmem_fs.h | 2
init/main.c | 2
kernel/bc/Kconfig | 9
kernel/bc/Makefile | 1
kernel/bc/beancounter.c | 9
kernel/bc/vmpages.c | 7
kernel/bc/vmrss.c | 508 +++++++++++++++++++++++++++++++++++++++++++++++
mm/shmem.c | 6
12 files changed, 627 insertions(+), 2 deletions(-)
--- ./include/bc/beancounter.h.bcrsscore 2006-09-05 13:44:33.000000000 +0400
+++ ./include/bc/beancounter.h 2006-09-05 13:50:29.000000000 +0400
@@ -68,6 +68,9 @@ struct beancounter {
struct hlist_node hash;
unsigned long unused_privvmpages;
+#ifdef CONFIG_BEANCOUNTERS_RSS
+ unsigned long long rss_pages;
+#endif
/* resources statistics and settings */
struct bc_resource_parm bc_parms[BC_RESOURCES];
};
--- ./include/bc/vmpages.h.bcrsscore 2006-09-05 13:40:21.000000000 +0400
+++ ./include/bc/vmpages.h 2006-09-05 13:46:35.000000000 +0400
@@ -77,6 +77,8 @@ void bc_locked_shm_uncharge(struct shmem
put_beancounter((info)->shm_bc); \
} while (0)
+#define mm_same_bc(mm1, mm2) ((mm1)->mm_bc == (mm2)->mm_bc)
+
void bc_update_privvmpages(struct beancounter *bc);
#else /* CONFIG_BEANCOUNTERS */
@@ -136,6 +138,8 @@ static inline void bc_locked_shm_uncharg
#define shmi_init_bc(info) do { } while (0)
#define shmi_free_bc(info) do { } while (0)
+#define mm_same_bc(mm1, mm2) (1)
+
#endif /* CONFIG_BEANCOUNTERS */
#endif
--- /dev/null 2006-07-18 14:52:43.075228448 +0400
+++ ./include/bc/vmrss.h 2006-09-05 13:50:25.000000000 +0400
@@ -0,0 +1,72 @@
+/*
+ * include/ub/vmrss.h
+ *
+ * Copyright (C) 2006 OpenVZ. SWsoft Inc
+ *
+ */
+
+#ifndef __BC_VMRSS_H_
+#define __BC_VMRSS_H_
+
+struct page_beancounter;
+
+struct page;
+struct mm_struct;
+struct vm_area_struct;
+
+/* values that represens page's 'weight' in bc rss accounting */
+#define PB_PAGE_WEIGHT_SHIFT 24
+#define PB_PAGE_WEIGHT (1 << PB_PAGE_WEIGHT_SHIFT)
+/* page obtains one more reference within beancounter */
+#define PB_COPY_SAME ((struct page_beancounter *)-1)
+
+#ifdef CONFIG_BEANCOUNTERS_RSS
+
+struct page_beancounter * __must_check bc_alloc_rss_counter(void);
+struct page_beancounter * __must_check bc_alloc_rss_counter_list(long num,
+ struct page_beancounter *list);
+
+void bc_free_rss_counter(struct page_beancounter *rc);
+
+void bc_vmrss_page_add(struct page *pg, struct mm_struct *mm,
+ struct vm_area_struct *vma, struct page_beancounter **ppb);
+void bc_vmrss_page_del(struct page *pg, struct mm_struct *mm,
+ struct vm_area_struct *vma);
+void bc_vmrss_page_dup(struct page *pg, struct mm_struct *mm,
+ struct vm_area_struct *vma, struct page_beancounter **ppb);
+void bc_vmrss_page_add_noref(struct page *pg, struct mm_struct *mm,
+ struct vm_area_struct *vma);
+
+unsigned long mm_rss_pages(struct mm_struct *mm, unsigned long start,
+ unsigned long end);
+
+void bc_init_rss(void);
+
+#else /* CONFIG_BEANCOUNTERS_RSS */
+
+static inline struct page_beancounter * __must_check bc_alloc_rss_counter(void)
+{
+ return NULL;
+}
+
+static inline struct page_beancounter * __must_check bc_alloc_rss_counter_list(
+ long num, struct page_beancounter *list)
+{
+ return NULL;
+}
+
+static inline void bc_free_rss_counter(struct page_beancounter *rc)
+{
+}
+
+#define bc_vmrss_page_add(pg, mm, vma, pb) do { } while (0)
+#define bc_vmrss_page_del(pg, mm, vma) do { } while (0)
+#define bc_vmrss_page_dup(pg, mm, vma, pb) do { } while (0)
+#define bc_vmrss_page_add_noref(pg, mm, vma) do { } while (0)
+#define mm_rss_pages(mm, start, end) (0)
+
+#define bc_init_rss() do { } while (0)
+
+#endif /* CONFIG_BEANCOUNTERS_RSS */
+
+#endif
--- ./include/linux/mm.h.bcrsscore 2006-09-05 13:06:37.000000000 +0400
+++ ./include/linux/mm.h 2006-09-05 13:47:12.000000000 +0400
@@ -275,11 +275,15 @@ struct page {
unsigned long trace[8];
#endif
#ifdef CONFIG_BEANCOUNTERS
- struct beancounter *page_bc;
+ union {
+ struct beancounter *page_bc;
+ struct page_beancounter *page_pb;
+ };
#endif
};
#define page_bc(page) ((page)->page_bc)
+#define page_pb(page) ((page)->page_pb)
#define page_private(page) ((page)->private)
#define set_page_private(page, v) ((page)->private = (v))
--- ./include/linux/shmem_fs.h.bcrsscore 2006-09-05 12:59:27.000000000 +0400
+++ ./include/linux/shmem_fs.h 2006-09-05 13:50:19.000000000 +0400
@@ -41,4 +41,6 @@ static inline struct shmem_inode_info *S
return container_of(inode, struct shmem_inode_info, vfs_inode);
}
+int is_shmem_mapping(struct address_space *mapping);
+
#endif
--- ./init/main.c.bcrsscore 2006-09-05 12:54:17.000000000 +0400
+++ ./init/main.c 2006-09-05 13:46:35.000000000 +0400
@@ -51,6 +51,7 @@
#include <linux/lockdep.h>
#include <bc/beancounter.h>
+#include <bc/vmrss.h>
#include <asm/io.h>
#include <asm/bugs.h>
@@ -608,6 +609,7 @@ asmlinkage void __init start_kernel(void
check_bugs();
acpi_early_init(); /* before LAPIC and SMP init */
+ bc_init_rss();
/* Do the rest non-__init'ed, we're now alive */
rest_init();
--- ./kernel/bc/Kconfig.bcrsscore 2006-09-05 12:54:14.000000000 +0400
+++ ./kernel/bc/Kconfig 2006-09-05 13:50:35.000000000 +0400
@@ -22,4 +22,13 @@ config BEANCOUNTERS
per-process basis. Per-process accounting doesn't prevent malicious
users from spawning a lot of resource-consuming processes.
+config BEANCOUNTERS_RSS
+ bool "Account physical memory usage"
+ default y
+ depends on BEANCOUNTERS
+ help
+ This allows to estimate per beancounter physical memory usage.
+ Implemented alghorithm accounts shared pages of memory as well,
+ dividing them by number of beancounter which use the page.
+
endmenu
--- ./kernel/bc/Makefile.bcrsscore 2006-09-05 12:59:37.000000000 +0400
+++ ./kernel/bc/Makefile 2006-09-05 13:50:48.000000000 +0400
@@ -9,3 +9,4 @@ obj-y += misc.o
obj-y += sys.o
obj-y += kmem.o
obj-y += vmpages.o
+obj-$(CONFIG_BEANCOUNTERS_RSS) += vmrss.o
--- ./kernel/bc/beancounter.c.bcrsscore 2006-09-05 13:44:53.000000000 +0400
+++ ./kernel/bc/beancounter.c 2006-09-05 13:49:38.000000000 +0400
@@ -11,6 +11,7 @@
#include <linux/hash.h>
#include <bc/beancounter.h>
+#include <bc/vmrss.h>
static kmem_cache_t *bc_cachep;
static struct beancounter default_beancounter;
@@ -112,6 +113,14 @@ void put_beancounter(struct beancounter
printk("BC: %d has %lu of %s held on put", bc->bc_id,
bc->bc_parms[i].held, bc_rnames[i]);
+ if (bc->unused_privvmpages != 0)
+ printk("BC: %d has %lu of unused pages held on put", bc->bc_id,
+ bc->unused_privvmpages);
+#ifdef CONFIG_BEANCOUNTERS_RSS
+ if (bc->rss_pages != 0)
+ printk("BC: %d hash %llu of rss pages held on put", bc->bc_id,
+ bc->rss_pages);
+#endif
hlist_del(&bc->hash);
nr_beancounters--;
spin_unlock_irqrestore(&bc_hash_lock, flags);
--- ./kernel/bc/vmpages.c.bcrsscore 2006-09-05 13:45:34.000000000 +0400
+++ ./kernel/bc/vmpages.c 2006-09-05 13:48:50.000000000 +0400
@@ -11,12 +11,17 @@
#include <bc/beancounter.h>
#include <bc/vmpages.h>
+#include <bc/vmrss.h>
#include <asm/page.h>
void bc_update_privvmpages(struct beancounter *bc)
{
- bc->bc_parms[BC_PRIVVMPAGES].held = bc->unused_privvmpages;
+ bc->bc_parms[BC_PRIVVMPAGES].held = bc->unused_privvmpages
+#ifdef CONFIG_BEANCOUNTERS_RSS
+ + (bc->rss_pages >> PB_PAGE_WEIGHT_SHIFT)
+#endif
+ ;
bc_adjust_minheld(bc, BC_PRIVVMPAGES);
bc_adjust_maxheld(bc, BC_PRIVVMPAGES);
}
--- /dev/null 2006-07-18 14:52:43.075228448 +0400
+++ ./kernel/bc/vmrss.c 2006-09-05 13:51:21.000000000 +0400
@@ -0,0 +1,508 @@
+/*
+ * kernel/bc/vmrss.c
+ *
+ * Copyright (C) 2006 OpenVZ. SWsoft Inc
+ *
+ */
+
+#include <linux/sched.h>
+#include <linux/mm.h>
+#include <linux/list.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/shmem_fs.h>
+#include <linux/highmem.h>
+
+#include <bc/beancounter.h>
+#include <bc/vmpages.h>
+#include <bc/vmrss.h>
+
+#include <asm/pgtable.h>
+
+/*
+ * Core object of accounting.
+ * page_beancounter (or rss_counter) ties together page an bc.
+ * Page has associated circular list of such pbs. When page is
+ * shared between bcs then it's size is splitted between all of
+ * them in 2^n-s parts.
+ *
+ * E.g. three bcs will share page like 1/2:1/4:1/4
+ * adding one more reference would produce such a change:
+ * 1/2(bc1) : 1/4(bc2) : 1/4(bc3) ->
+ * (1/4(bc1) + 1/4(bc1)) : 1/4(bc2) : 1/4(bc3) ->
+ * 1/4(bc2) : 1/4(bc3) : 1/4(bc4) : 1/4(bc1)
+ */
+
+#define PB_MAGIC 0x62700001UL
+
+struct page_beancounter {
+ unsigned
...
|
|
|
 |
|
[PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Tue, 05 September 2006 14:59
|
 |
|
[PATCH 1/13] BC: introduce atomic_dec_and_lock_irqsave()
By: dev on Tue, 05 September 2006 15:16
|
 |
|
[PATCH 2/13] BC: kconfig
By: dev on Tue, 05 September 2006 15:16
|
 |
|
[PATCH 3/17] BC: beancounters core (API)
By: dev on Tue, 05 September 2006 15:17
|
 |
|
[PATCH 4/13] BC: context inheriting and changing
By: dev on Tue, 05 September 2006 15:19
|
 |
|
[PATCH 5/13] BC: user interface (syscalls)
By: dev on Tue, 05 September 2006 15:21
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
|
 |
|
Re: [ckrm-tech] [PATCH 5/13] BC: user interface (syscalls)
By: dev on Wed, 06 September 2006 14:20
|
 |
|
[PATCH 6/13] BC: kernel memory (core)
By: dev on Tue, 05 September 2006 15:21
|
 |
|
[PATCH 7/13] BC: kernel memory (marks)
By: dev on Tue, 05 September 2006 15:23
|
 |
|
Re: [PATCH 7/13] BC: kernel memory (marks)
|
 |
|
[PATCH 8/13] BC: locked pages (core)
By: dev on Tue, 05 September 2006 15:24
|
 |
|
[PATCH 9/13] BC: locked pages (charge hooks)
By: dev on Tue, 05 September 2006 15:25
|
 |
|
Re: [PATCH 9/13] BC: locked pages (charge hooks)
|
 |
|
Re: [PATCH 9/13] BC: locked pages (charge hooks)
|
 |
|
Re: [PATCH 9/13] BC: locked pages (charge hooks)
|
 |
|
Re: [ckrm-tech] [PATCH 9/13] BC: locked pages (charge hooks)
By: dev on Wed, 06 September 2006 14:16
|
 |
|
[PATCH 10/13] BC: privvm pages
By: dev on Tue, 05 September 2006 15:26
|
 |
|
[PATCH 11/13] BC: vmrss (preparations)
By: dev on Tue, 05 September 2006 15:28
|
 |
|
Re: [PATCH 11/13] BC: vmrss (preparations)
|
 |
|
Re: [PATCH 11/13] BC: vmrss (preparations)
By: dev on Wed, 06 September 2006 13:56
|
 |
|
Re: [ckrm-tech] [PATCH 11/13] BC: vmrss (preparations)
|
 |
|
[PATCH 12/13] BC: vmrss (core)
By: dev on Tue, 05 September 2006 15:28
|
 |
|
[PATCH 13/13] BC: vmrss (charges)
By: dev on Tue, 05 September 2006 15:29
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Wed, 06 September 2006 13:04
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Fri, 15 September 2006 08:46
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Fri, 15 September 2006 08:51
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Fri, 15 September 2006 08:53
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: kir on Mon, 11 September 2006 19:47
|
 |
|
Re: Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
By: dev on Wed, 06 September 2006 13:54
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
 |
|
Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
|
Goto Forum:
Current Time: Fri Jul 18 13:24:31 GMT 2025
Total time taken to generate the page: 0.08164 seconds
|