From owner-svn-src-head@FreeBSD.ORG Sat Aug 17 07:10:02 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 086254C9; Sat, 17 Aug 2013 07:10:02 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id EA8592919; Sat, 17 Aug 2013 07:10:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r7H7A10D087175; Sat, 17 Aug 2013 07:10:01 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r7H7A1Ox087174; Sat, 17 Aug 2013 07:10:01 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201308170710.r7H7A1Ox087174@svn.freebsd.org> From: Konstantin Belousov Date: Sat, 17 Aug 2013 07:10:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r254439 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Aug 2013 07:10:02 -0000 Author: kib Date: Sat Aug 17 07:10:01 2013 New Revision: 254439 URL: http://svnweb.freebsd.org/changeset/base/254439 Log: 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) Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c ============================================================================== --- head/sys/vm/vm_pageout.c Sat Aug 17 06:29:45 2013 (r254438) +++ head/sys/vm/vm_pageout.c Sat Aug 17 07:10:01 2013 (r254439) @@ -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);