[dm-devel] [PATCH 2/2] dm-writecache
Christoph Hellwig
hch at infradead.org
Thu Nov 23 08:29:46 UTC 2017
> +/*
> + * The clflushopt instruction is very slow on Broadwell, so we use non-temporal
> + * stores instead.
> + */
> +#ifdef CONFIG_X86_64
> +#define NT_STORE(dest, src) asm ("movnti %1, %0" : "=m"(dest) : "r"(src))
> +#define FLUSH_RANGE(dax, ptr, size) do { } while (0)
> +#define COMMIT_FLUSHED() wmb()
> +#else
> +#define NT_STORE(dest, src) ACCESS_ONCE(dest) = (src)
> +#define FLUSH_RANGE dax_flush
> +#define COMMIT_FLUSHED() do { } while (0)
> +#endif
Please go through the proper pmem APIs.
More information about the dm-devel
mailing list