On Friday, May 04, 2018 06:51:02 AM Matt Macy wrote:
> Author: mmacy
> Date: Fri May  4 06:51:01 2018
> New Revision: 333242
> URL: https://svnweb.freebsd.org/changeset/base/333242
> 
> Log:
>   `dup1_processes -t 96 -s 5` on a dual 8160
>   
>   x dup_before
>   + dup_after
>   +------------------------------------------------------------+
>   |             x                                            + |
>   |x    x   x   x                                         ++ ++|
>   |   |____AM___|                                          |AM||
>   +------------------------------------------------------------+
>       N           Min           Max        Median           Avg        Stddev
>   x   5  1.514954e+08 1.5230351e+08 1.5206157e+08 1.5199371e+08     341205.71
>   +   5 1.5494336e+08 1.5519569e+08 1.5511982e+08 1.5508323e+08     96232.829
>   Difference at 95.0% confidence
>           3.08952e+06 +/- 365604
>           2.03266% +/- 0.245071%
>           (Student's t, pooled s = 250681)

The log doesn't quite describe what the change is though and why it results
in this change.  bcopy -> memcpy to permit using the compiler builtin I 
understand,
but using memcpy instead of a structure copy seems rather odd as I would expect
the compiler to treat a structure copy as the same as __builtin_memcpy().

>   Reported by:        mjg@
>   MFC after:  1 week
> 
> Modified:
>   head/sys/kern/kern_descrip.c
> 
> Modified: head/sys/kern/kern_descrip.c
> ==============================================================================
> --- head/sys/kern/kern_descrip.c      Fri May  4 04:05:07 2018        
> (r333241)
> +++ head/sys/kern/kern_descrip.c      Fri May  4 06:51:01 2018        
> (r333242)
> @@ -1503,7 +1503,7 @@ filecaps_copy(const struct filecaps *src, struct filec
>  
>       if (src->fc_ioctls != NULL && !locked)
>               return (false);
> -     *dst = *src;
> +     memcpy(dst, src, sizeof(*src));
>       if (src->fc_ioctls == NULL)
>               return (true);
>  
> @@ -1512,7 +1512,7 @@ filecaps_copy(const struct filecaps *src, struct filec
>  
>       size = sizeof(src->fc_ioctls[0]) * src->fc_nioctls;
>       dst->fc_ioctls = malloc(size, M_FILECAPS, M_WAITOK);
> -     bcopy(src->fc_ioctls, dst->fc_ioctls, size);
> +     memcpy(dst->fc_ioctls, src->fc_ioctls, size);
>       return (true);
>  }
>  
> 


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

Reply via email to