summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2013-08-17 07:10:01 +0000
committerkib <kib@FreeBSD.org>2013-08-17 07:10:01 +0000
commit3c951b7b9db1d6e936581f67a606718572a10de0 (patch)
tree0fcedc5a3174e7158cbffa5f0f3089a9e8b963fd
parentdd6c5189ed6b1e94e5edbff92a0e4e022633a738 (diff)
downloadFreeBSD-src-3c951b7b9db1d6e936581f67a606718572a10de0.zip
FreeBSD-src-3c951b7b9db1d6e936581f67a606718572a10de0.tar.gz
Remove the arbitrary binding of the pagedaemon threads to the domains,
update the comment accordingly and make it more precise. Requested and reviewed by: jeff (previous version)
-rw-r--r--sys/vm/vm_pageout.c27
1 files changed, 4 insertions, 23 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 5051089..e63fcaa 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -1575,35 +1575,16 @@ static void
vm_pageout_worker(void *arg)
{
struct vm_domain *domain;
- struct pcpu *pc;
- int cpu, domidx;
+ int domidx;
domidx = (uintptr_t)arg;
domain = &vm_dom[domidx];
/*
- * XXXKIB The bind is rather arbitrary. With some minor
- * complications, we could assign the cpuset consisting of all
- * CPUs in the same domain. In fact, it even does not matter
- * if the CPU we bind to is in the affinity domain of this
- * page queue, we only need to establish the fair distribution
- * of pagedaemon threads among CPUs.
- *
- * XXXKIB It would be useful to allocate vm_pages for the
- * domain from the domain, and put pcpu area into the page
- * owned by the domain.
+ * XXXKIB It could be useful to bind pageout daemon threads to
+ * the cores belonging to the domain, from which vm_page_array
+ * is allocated.
*/
- if (mem_affinity != NULL) {
- CPU_FOREACH(cpu) {
- pc = pcpu_find(cpu);
- if (pc->pc_domain == domidx) {
- thread_lock(curthread);
- sched_bind(curthread, cpu);
- thread_unlock(curthread);
- break;
- }
- }
- }
KASSERT(domain->vmd_segs != 0, ("domain without segments"));
vm_pageout_init_marker(&domain->vmd_marker, PQ_INACTIVE);
OpenPOWER on IntegriCloud