From: Minchan Kim <minchan@kernel.org>
To: Joey Pabalinas <joeypabalinas@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Subject: Re: [PATCH v2 5/7] zram: support idle/huge page writeback
Date: Tue, 27 Nov 2018 11:13:27 +0900 [thread overview]
Message-ID: <20181127021327.GD237537@google.com> (raw)
In-Reply-To: <20181126094737.sfudpeoigra2vir7@gmail.com>
On Sun, Nov 25, 2018 at 11:47:37PM -1000, Joey Pabalinas wrote:
> On Mon, Nov 26, 2018 at 05:28:11PM +0900, Minchan Kim wrote:
> > + strlcpy(mode_buf, buf, sizeof(mode_buf));
> > + /* ignore trailing newline */
> > + sz = strlen(mode_buf);
>
> One possible idea would be to use strscpy() instead and directly assign
> the return value to sz, avoiding an extra strlen() call (though you would
> have to check if `sz == -E2BIG` and do `sz = sizeof(mode_buf) - 1` in that
> case).
Thanks for the suggstion.
If I limit destination buffer smaller, I couldn't meet -E2BIG?
>
> > + if (!strcmp(mode_buf, "idle"))
> > + mode = IDLE_WRITEBACK;
> > + if (!strcmp(mode_buf, "huge"))
> > + mode = HUGE_WRITEBACK;
>
> Maybe using `else if (!strcmp(mode_buf, "huge"))` would be slightly
> better here, avoiding a second strcmp() if mode_buf has already
> matched "idle".
I considered "huge|idle" as an option. Anyway, in that case, mode should
"mode |= ". At this moment, yes, lets use "else if" since I don't have
strong opinion to support "idle|huge".
>
> > + if ((mode & IDLE_WRITEBACK &&
> > + !zram_test_flag(zram, index, ZRAM_IDLE)) &&
> > + (mode & HUGE_WRITEBACK &&
> > + !zram_test_flag(zram, index, ZRAM_HUGE)))
> > + goto next;
>
> Wouldn't writing this as `mode & (IDLE_WRITEBACK | HUGE_WRITEBACK)`
> be a bit easier to read as well as slightly more compact?
>
> > + ret = len;
> > + __free_page(page);
> > +release_init_lock:
> > + up_read(&zram->init_lock);
> > + return ret;
>
> Hm, I noticed that this function either returns an error or just the passed
> in len on success, and I'm left wondering if there might be other useful
> information which could be passed back to the caller instead. I can't
> immediately think of any such information, though, so it's possible I'm
> just daydreaming :)
It is write syscall semantic of sysfs so not sure it's doable to pass
other value to user.
>
> --
> Cheers,
> Joey Pabalinas
next prev parent reply other threads:[~2018-11-27 2:13 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-26 8:28 [PATCH v2 0/7] zram idle page writeback Minchan Kim
2018-11-26 8:28 ` [PATCH v2 1/7] zram: fix lockdep warning of free block handling Minchan Kim
2018-11-26 20:49 ` Andrew Morton
2018-11-27 2:05 ` Minchan Kim
2018-11-26 8:28 ` [PATCH v2 2/7] zram: fix double free backing device Minchan Kim
2018-11-26 8:28 ` [PATCH v2 3/7] zram: refactoring flags and writeback stuff Minchan Kim
2018-11-26 8:28 ` [PATCH v2 4/7] zram: introduce ZRAM_IDLE flag Minchan Kim
2018-11-26 8:28 ` [PATCH v2 5/7] zram: support idle/huge page writeback Minchan Kim
2018-11-26 9:47 ` Joey Pabalinas
2018-11-26 13:44 ` Joey Pabalinas
2018-11-27 2:13 ` Minchan Kim [this message]
2018-11-27 2:53 ` Joey Pabalinas
2018-11-26 8:28 ` [PATCH v2 6/7] zram: add bd_stat statistics Minchan Kim
2018-11-26 20:58 ` Andrew Morton
2018-11-27 2:07 ` Minchan Kim
2018-11-28 23:30 ` Andrew Morton
2018-11-29 1:45 ` Minchan Kim
2018-11-26 8:28 ` [PATCH v2 7/7] zram: writeback throttle Minchan Kim
2018-11-26 20:54 ` Andrew Morton
2018-11-27 2:08 ` Minchan Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181127021327.GD237537@google.com \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=joeypabalinas@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sergey.senozhatsky.work@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox