> -Original Message-
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: Tuesday, September 08, 2015 5:19 PM
> To: Wu, Feng
> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser
> Subject: RE: [PATCH v6 02/18] Add cmpxchg16b support for x86-64
>
> >>> On 08.09.15 at 10:57, wrote:
>>> On 08.09.15 at 10:57, wrote:
>
>> -Original Message-
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: Tuesday, September 08, 2015 4:52 PM
>> To: Wu, Feng
>> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser
>> Subject: RE: [PATCH v6 02/18] Add cmpxchg16b support for x86
> -Original Message-
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: Tuesday, September 08, 2015 4:52 PM
> To: Wu, Feng
> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser
> Subject: RE: [PATCH v6 02/18] Add cmpxchg16b support for x86-64
>
> >>> On 08.09.15 at 09:37, wrote:
>>> On 08.09.15 at 09:37, wrote:
> Thanks for your suggestion. How about this?
>
> #define cmpxchg16b(ptr,o,n)\
> ( ({ ASSERT(((unsigned long)ptr & 0xF) == 0); }), \
> BUILD_BUG_ON(sizeof(*o) != sizeof(__uint128_t)),
> -Original Message-
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: Monday, September 07, 2015 6:37 PM
> To: Wu, Feng
> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser
> Subject: RE: [PATCH v6 02/18] Add cmpxchg16b support for x86-64
>
> >>> On 06.09.15 at 08:32, wrote:
>>> On 06.09.15 at 08:07, wrote:
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: Friday, September 04, 2015 10:23 PM
>> >>> On 25.08.15 at 03:57, wrote:
>> > ---
>> > v6:
>> > - Fix a typo
>> >
>> > v5:
>> > - Change back the parameters of __cmpxchg16b() to __uint128_t *
>> > - Remove po
>>> On 06.09.15 at 08:32, wrote:
>> From: Wu, Feng
>> Sent: Sunday, September 06, 2015 2:07 PM
>> If that is the case, what about the changes below?
>>
>> #define cmpxchg16b(ptr,o,n)
>> \
>> ASSERT((unsigned long)ptr & 0xF == 0);
>> \
>> ASSERT(sizeof(*o) == sizeof(__uint128_t))
>> \
>>
>>> On 06.09.15 at 08:07, wrote:
>> From: Jan Beulich [mailto:jbeul...@suse.com]
>> Sent: Friday, September 04, 2015 10:23 PM
>> >>> On 25.08.15 at 03:57, wrote:
>> > ---
>> > v6:
>> > - Fix a typo
>> >
>> > v5:
>> > - Change back the parameters of __cmpxchg16b() to __uint128_t *
>> > - Remove po
> -Original Message-
> From: Wu, Feng
> Sent: Sunday, September 06, 2015 2:07 PM
> To: Jan Beulich
> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser; Wu, Feng
> Subject: RE: [PATCH v6 02/18] Add cmpxchg16b support for x86-64
>
>
>
> > -Original Message-
> > From: Jan Be
> -Original Message-
> From: Jan Beulich [mailto:jbeul...@suse.com]
> Sent: Friday, September 04, 2015 10:23 PM
> To: Wu, Feng
> Cc: Andrew Cooper; xen-devel@lists.xen.org; Keir Fraser
> Subject: Re: [PATCH v6 02/18] Add cmpxchg16b support for x86-64
>
> >>> On 25.08.15 at 03:57, wrote:
>>> On 25.08.15 at 03:57, wrote:
> --- a/xen/include/asm-x86/x86_64/system.h
> +++ b/xen/include/asm-x86/x86_64/system.h
> @@ -6,6 +6,34 @@
> (unsigned long)(n),sizeof(*(ptr
>
> /*
> + * Atomic 16 bytes compare and exchange. Compare OLD with MEM, if
> +
>>> On 25.08.15 at 03:57, wrote:
> This patch adds cmpxchg16b support for x86-64, so software
> can perform 128-bit atomic write/read.
>
> CC: Keir Fraser
> CC: Jan Beulich
> CC: Andrew Cooper
> Signed-off-by: Feng Wu
> ---
> v6:
> - Fix a typo
>
> v5:
> - Change back the parameters of __cmp
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser
CC: Jan Beulich
CC: Andrew Cooper
Signed-off-by: Feng Wu
---
v6:
- Fix a typo
v5:
- Change back the parameters of __cmpxchg16b() to __uint128_t *
- Remove pointless cast for 'ptr'
13 matches
Mail list logo