svn commit: r333266 - head/sys/amd64/amd64

Mateusz Guzik mjguzik at gmail.com
Fri May 4 23:12:48 UTC 2018


On Sat, May 5, 2018 at 12:58 AM, Steven Hartland <
steven.hartland at multiplay.co.uk> wrote:

> Can we get the why in commit messages please?
>
> This sort of message doesnt provide anything more that can be obtained
> from reading the diff, which just leaves us wondering why?
>
> I’m sure there is a good reason, but without confirmation we’re just left
> guessing. The knock on to this is if some assumption that caused the why
> changes, anyone looking at this will not be able to make an informed
> descision that that was the case.
>
>
bcopy is an equivalent of memmove, i.e. it accepts overlapping buffers.
But if we know for a fact they don't overlap (like here), doing this over
memcpy (which does not accept such buffers) only puts avoidable
constraints on the optimizer.

This is a rather pedestrian change which can be made in many places,
I don't see the point of repeating the explanation in each one. Although
I guess it would make sense to point at a specific commit which explains
things.



> On Fri, 4 May 2018 at 23:41, Mateusz Guzik <mjg at freebsd.org> wrote:
>
>> Author: mjg
>> Date: Fri May  4 22:41:12 2018
>> New Revision: 333266
>> URL: https://svnweb.freebsd.org/changeset/base/333266
>>
>> Log:
>>   amd64: syscall path bcopy -> memcpy
>>
>> Modified:
>>   head/sys/amd64/amd64/trap.c
>>
>> Modified: head/sys/amd64/amd64/trap.c
>> ============================================================
>> ==================
>> --- head/sys/amd64/amd64/trap.c Fri May  4 22:33:54 2018        (r333265)
>> +++ head/sys/amd64/amd64/trap.c Fri May  4 22:41:12 2018        (r333266)
>> @@ -908,7 +908,7 @@ cpu_fetch_syscall_args(struct thread *td)
>>         error = 0;
>>         argp = &frame->tf_rdi;
>>         argp += reg;
>> -       bcopy(argp, sa->args, sizeof(sa->args[0]) * 6);
>> +       memcpy(sa->args, argp, sizeof(sa->args[0]) * 6);
>>         if (sa->narg > regcnt) {
>>                 KASSERT(params != NULL, ("copyin args with no params!"));
>>                 error = copyin(params, &sa->args[regcnt],
>>
>>


-- 
Mateusz Guzik <mjguzik gmail.com>


More information about the svn-src-head mailing list