svn commit: r314207 - head/sys/compat/linuxkpi/common/include/linux
Hans Petter Selasky
hps at selasky.org
Fri Feb 24 15:29:09 UTC 2017
On 02/24/17 16:06, Mateusz Guzik wrote:
> On Fri, Feb 24, 2017 at 02:40:15PM +0000, Hans Petter Selasky wrote:
>> Author: hselasky
>> Date: Fri Feb 24 14:40:15 2017
>> New Revision: 314207
>> URL: https://svnweb.freebsd.org/changeset/base/314207
>>
>> Log:
>> Implement srcu_dereference() macro in the LinuxKPI.
>>
>> MFC after: 1 week
>> Sponsored by: Mellanox Technologies
>>
>> Modified:
>> head/sys/compat/linuxkpi/common/include/linux/srcu.h
>>
>> Modified: head/sys/compat/linuxkpi/common/include/linux/srcu.h
>> ==============================================================================
>> --- head/sys/compat/linuxkpi/common/include/linux/srcu.h Fri Feb 24 14:37:55 2017 (r314206)
>> +++ head/sys/compat/linuxkpi/common/include/linux/srcu.h Fri Feb 24 14:40:15 2017 (r314207)
>> @@ -34,6 +34,8 @@ struct srcu_struct {
>> struct ck_epoch_record *ss_epoch_record;
>> };
>>
>> +#define srcu_dereference(ptr,srcu) ((__typeof(*(ptr)) *)(ptr))
>> +
>
> Should not this cast to volatile and read through that?
>
Hi,
This macro should only be used inside a srcu_read_lock() and
srcu_read_unlock() section and then volatile is not part of the game I
think. The srcu argument is passed so that checks can be added to assert
this.
--HPS
More information about the svn-src-all
mailing list