From owner-svn-src-all@FreeBSD.ORG Wed Feb 23 10:28:37 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD50F1065672; Wed, 23 Feb 2011 10:28:37 +0000 (UTC) (envelope-from brucec@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A2B628FC14; Wed, 23 Feb 2011 10:28:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p1NASbMl045278; Wed, 23 Feb 2011 10:28:37 GMT (envelope-from brucec@svn.freebsd.org) Received: (from brucec@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p1NASbET045275; Wed, 23 Feb 2011 10:28:37 GMT (envelope-from brucec@svn.freebsd.org) Message-Id: <201102231028.p1NASbET045275@svn.freebsd.org> From: Bruce Cran Date: Wed, 23 Feb 2011 10:28:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r218966 - head/sys/vm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Feb 2011 10:28:37 -0000 Author: brucec Date: Wed Feb 23 10:28:37 2011 New Revision: 218966 URL: http://svn.freebsd.org/changeset/base/218966 Log: Calculate and return the count in vmspace_swap_count as a vm_offset_t instead of an int to avoid overflow. While here, clean up some style(9) issues. PR: kern/152200 Reviewed by: kib MFC after: 2 weeks Modified: head/sys/vm/swap_pager.c head/sys/vm/vm_map.h Modified: head/sys/vm/swap_pager.c ============================================================================== --- head/sys/vm/swap_pager.c Wed Feb 23 09:22:33 2011 (r218965) +++ head/sys/vm/swap_pager.c Wed Feb 23 10:28:37 2011 (r218966) @@ -2420,23 +2420,24 @@ SYSCTL_NODE(_vm, OID_AUTO, swap_info, CT * if the VM object has any swap use at all the associated map entries * count for at least 1 swap page. */ -int +vm_offset_t vmspace_swap_count(struct vmspace *vmspace) { - vm_map_t map = &vmspace->vm_map; + vm_map_t map; vm_map_entry_t cur; - int count = 0; + vm_object_t object; + vm_offset_t count, n; - for (cur = map->header.next; cur != &map->header; cur = cur->next) { - vm_object_t object; + map = &vmspace->vm_map; + count = 0; + for (cur = map->header.next; cur != &map->header; cur = cur->next) { if ((cur->eflags & MAP_ENTRY_IS_SUB_MAP) == 0 && (object = cur->object.vm_object) != NULL) { VM_OBJECT_LOCK(object); if (object->type == OBJT_SWAP && object->un_pager.swp.swp_bcount != 0) { - int n = (cur->end - cur->start) / PAGE_SIZE; - + n = (cur->end - cur->start) / PAGE_SIZE; count += object->un_pager.swp.swp_bcount * SWAP_META_PAGES * n / object->size + 1; } Modified: head/sys/vm/vm_map.h ============================================================================== --- head/sys/vm/vm_map.h Wed Feb 23 09:22:33 2011 (r218965) +++ head/sys/vm/vm_map.h Wed Feb 23 10:28:37 2011 (r218966) @@ -380,6 +380,6 @@ int vm_map_unwire(vm_map_t map, vm_offse int flags); int vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags); -int vmspace_swap_count (struct vmspace *vmspace); +vm_offset_t vmspace_swap_count(struct vmspace *vmspace); #endif /* _KERNEL */ #endif /* _VM_MAP_ */