On 07/25/13 09:26, Bruce Evans wrote:
On Thu, 25 Jul 2013, Tim Kientzle wrote:

Log:
 Clear entire map structure including locks so that the
 locks don't accidentally appear to have been already
 initialized.

 In particular, this fixes a consistent kernel crash on
 armv6 with:
   panic: lock "vm map (user)" 0xc09cc050 already initialized
 that appeared with r251709.

 PR: arm/180820

Modified:
 head/sys/vm/vm_map.c

Modified: head/sys/vm/vm_map.c
==============================================================================

--- head/sys/vm/vm_map.c    Thu Jul 25 03:44:12 2013    (r253635)
+++ head/sys/vm/vm_map.c    Thu Jul 25 03:48:37 2013    (r253636)
@@ -239,8 +239,7 @@ vm_map_zinit(void *mem, int size, int fl
    vm_map_t map;

    map = (vm_map_t)mem;
-    map->nentries = 0;
-    map->size = 0;
+    memset(map, 0, sizeof(*map));
    mtx_init(&map->system_mtx, "vm map (system)", NULL, MTX_DEF |
MTX_DUPOK);
    sx_init(&map->lock, "vm map (user)");
    return (0);

memset() to value 0 is spelled bzero() in the kernel.


Hi,

Is this the "memset vs bzero" or "batman vs superman" discussion again ;-)

The structure looks like some size, so bzero() might run faster than memset() depending on the compiler settings. Should be profiled before changed!

--HPS

_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to