On Wed, Oct 18, 2017 at 10:48:32AM +0000, Srividya Desireddy wrote:
> +static void zswap_fill_page(void *ptr, unsigned long value)
> +{
> +     unsigned int pos;
> +     unsigned long *page;
> +
> +     page = (unsigned long *)ptr;
> +     if (value == 0)
> +             memset(page, 0, PAGE_SIZE);
> +     else {
> +             for (pos = 0; pos < PAGE_SIZE / sizeof(*page); pos++)
> +                     page[pos] = value;
> +     }
> +}

I think you meant:

static void zswap_fill_page(void *ptr, unsigned long value)
{
        memset_l(ptr, value, PAGE_SIZE / sizeof(unsigned long));
}

(and you should see significantly better numbers at least on x86;
I don't know if anyone's done an arm64 version of memset_l yet).

Reply via email to