Re: [PATCH] x86: Add kerneldoc for pcommit_sfence()

From: Ingo Molnar
Date: Tue Mar 17 2015 - 04:11:14 EST



* H. Peter Anvin <h.peter.anvin@xxxxxxxxx> wrote:

> On 03/16/2015 01:35 AM, Ingo Molnar wrote:
> >
> > :-/
> >
> > Not sure what hpa's problem with 'void *' was: especially in MM code
> > we are using 'void *' rather widely.
> >
> > All compilers that aim for being able to build the Linux kernel
> > implement 'void *' as well, so that 'standard C' argument is
> > pretty weak IMHO - unlike some of the more esoteric GCC
> > extensions, this one is actually pretty well done and widely used
> > in and outside of the kernel.
> >
> >> It seems like both have arguments for them. Char pointer
> >> arithmetic has the advantage that its behavior is standard in C,
> >> so it's not specific to gcc. I agree that void* has the
> >> advantage that it fits more naturally with the types of the
> >> parameters passed in, requiring no casting.
> >
> > It's also a bonus property of 'void *' that unlike 'char *' it
> > cannot be dereferenced. So we use it for opaque buffers wherever
> > we can.
>
> The issue isn't void *, it is doing arithmetic on void *.

Mind explaining it to me a bit more verbosely, because I don't think I
get your point? In my experience arithmetics on void * works just fine
in the cases I tried.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/