Re: [PATCH] zswap: Same-filled pages handling
From: Dan Streetman
Date: Fri Nov 17 2017 - 17:11:24 EST
On Thu, Nov 2, 2017 at 11:08 AM, Srividya Desireddy
<srividya.dr@xxxxxxxxxxx> wrote:
>
> On Wed, Oct 19, 2017 at 6:38 AM, Matthew Wilcox wrote:
>> On Thu, Oct 19, 2017 at 12:31:18AM +0300, Timofey Titovets 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;
>>> > + }
>>> > +}
>>>
>>> Same here, but with memcpy().
>>
>>No. Use memset_l which is optimised for this specific job.
>
> I have tested this patch using memset_l() function in zswap_fill_page() on
> x86 64-bit system with 2GB RAM. The performance remains same.
> But, memset_l() funcion might be optimised in future.
> @Seth Jennings/Dan Streetman: Should I use memset_l() function in this patch.
my testing showed also showed minimal if any difference when using
memset_l(), but it's simpler code and should never be slower than
looping. I'll ack it if you want to send an additional patch making
this change (on top of the one I already acked).
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>