svn commit: r253636 - head/sys/vm

Hans Petter Selasky hps at bitfrost.no
Thu Jul 25 08:10:00 UTC 2013


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



More information about the svn-src-head mailing list