diff options
author | kib <kib@FreeBSD.org> | 2013-08-17 07:10:01 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2013-08-17 07:10:01 +0000 |
commit | 3c951b7b9db1d6e936581f67a606718572a10de0 (patch) | |
tree | 0fcedc5a3174e7158cbffa5f0f3089a9e8b963fd | |
parent | dd6c5189ed6b1e94e5edbff92a0e4e022633a738 (diff) | |
download | FreeBSD-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.c | 27 |
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); |