All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oskar Andero <oskar.andero@sonymobile.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Hugh Dickins <hughd@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Lekanovic, Radovan" <Radovan.Lekanovic@sonymobile.com>,
	David Rientjes <rientjes@google.com>,
	Glauber Costa <glommer@parallels.com>
Subject: Re: [RFC PATCH 0/2] return value from shrinkers
Date: Thu, 16 May 2013 09:52:05 +0200	[thread overview]
Message-ID: <20130516075205.GD24072@caracas.corpusers.net> (raw)
In-Reply-To: <20130515160532.c965e92707c354100e25f79b@linux-foundation.org>

On 01:05 Thu 16 May     , Andrew Morton wrote:
> On Mon, 13 May 2013 16:16:33 +0200 Oskar Andero <oskar.andero@sonymobile.com> wrote:
> 
> > In a previous discussion on lkml it was noted that the shrinkers use the
> > magic value "-1" to signal that something went wrong.
> > 
> > This patch-set implements the suggestion of instead using errno.h values
> > to return something more meaningful.
> > 
> > The first patch simply changes the check from -1 to any negative value and
> > updates the comment accordingly.
> > 
> > The second patch updates the shrinkers to return an errno.h value instead
> > of -1. Since this one spans over many different areas I need input on what is
> > a meaningful return value. Right now I used -EBUSY on everything for consitency.
> > 
> > What do you say? Is this a good idea or does it make no sense at all?
> 
> I don't see much point in it, really.  Returning an errno implies that
> the errno will eventually be returned to userspace.  But that isn't the
> case, so such a change is somewhat misleading.

Yes. Glauber Costa pointed that out and I agree - errno.h is probably not
the right way to go.

> If we want the capability to return more than a binary yes/no message
> to callers then yes, we could/should enumerate the shrinker return
> values.  But as that is a different concept from errnos, it should be
> done with a different and shrinker-specific namespace.

Agreed, but even if there right now is only a binary return message, is a
hardcoded -1 considered to be acceptable for an interface? IMHO, it is not
very readable nor intuitive for the users of the interface. Why not, as you
mention, add a define or enum in shrinker.h instead, e.g. SHRINKER_STOP or
something.

-Oskar

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Oskar Andero <oskar.andero@sonymobile.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Hugh Dickins <hughd@google.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Lekanovic, Radovan" <Radovan.Lekanovic@sonymobile.com>,
	David Rientjes <rientjes@google.com>,
	Glauber Costa <glommer@parallels.com>
Subject: Re: [RFC PATCH 0/2] return value from shrinkers
Date: Thu, 16 May 2013 09:52:05 +0200	[thread overview]
Message-ID: <20130516075205.GD24072@caracas.corpusers.net> (raw)
In-Reply-To: <20130515160532.c965e92707c354100e25f79b@linux-foundation.org>

On 01:05 Thu 16 May     , Andrew Morton wrote:
> On Mon, 13 May 2013 16:16:33 +0200 Oskar Andero <oskar.andero@sonymobile.com> wrote:
> 
> > In a previous discussion on lkml it was noted that the shrinkers use the
> > magic value "-1" to signal that something went wrong.
> > 
> > This patch-set implements the suggestion of instead using errno.h values
> > to return something more meaningful.
> > 
> > The first patch simply changes the check from -1 to any negative value and
> > updates the comment accordingly.
> > 
> > The second patch updates the shrinkers to return an errno.h value instead
> > of -1. Since this one spans over many different areas I need input on what is
> > a meaningful return value. Right now I used -EBUSY on everything for consitency.
> > 
> > What do you say? Is this a good idea or does it make no sense at all?
> 
> I don't see much point in it, really.  Returning an errno implies that
> the errno will eventually be returned to userspace.  But that isn't the
> case, so such a change is somewhat misleading.

Yes. Glauber Costa pointed that out and I agree - errno.h is probably not
the right way to go.

> If we want the capability to return more than a binary yes/no message
> to callers then yes, we could/should enumerate the shrinker return
> values.  But as that is a different concept from errnos, it should be
> done with a different and shrinker-specific namespace.

Agreed, but even if there right now is only a binary return message, is a
hardcoded -1 considered to be acceptable for an interface? IMHO, it is not
very readable nor intuitive for the users of the interface. Why not, as you
mention, add a define or enum in shrinker.h instead, e.g. SHRINKER_STOP or
something.

-Oskar

  reply	other threads:[~2013-05-16  7:52 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-13 14:16 [RFC PATCH 0/2] return value from shrinkers Oskar Andero
2013-05-13 14:16 ` Oskar Andero
2013-05-13 14:16 ` [RFC PATCH 1/2] mm: vmscan: let any negative return value from shrinker mean error Oskar Andero
2013-05-13 14:16   ` Oskar Andero
2013-05-16  0:47   ` Dave Chinner
2013-05-16  0:47     ` Dave Chinner
2013-05-13 14:16 ` [RFC PATCH 2/2] Clean-up shrinker return values Oskar Andero
2013-05-13 14:16   ` Oskar Andero
2013-05-14 15:03 ` [RFC PATCH 0/2] return value from shrinkers Glauber Costa
2013-05-14 15:03   ` Glauber Costa
2013-05-15 14:10   ` Oskar Andero
2013-05-15 14:10     ` Oskar Andero
2013-05-15 14:18     ` Glauber Costa
2013-05-15 14:18       ` Glauber Costa
2013-05-15 14:47       ` Oskar Andero
2013-05-15 14:47         ` Oskar Andero
2013-05-15 14:49         ` Glauber Costa
2013-05-15 14:49           ` Glauber Costa
2013-05-16  8:20           ` Oskar Andero
2013-05-16  8:20             ` Oskar Andero
2013-05-16  8:23             ` Glauber Costa
2013-05-16  8:23               ` Glauber Costa
2013-05-15 23:05 ` Andrew Morton
2013-05-15 23:05   ` Andrew Morton
2013-05-16  7:52   ` Oskar Andero [this message]
2013-05-16  7:52     ` Oskar Andero
2013-05-16 16:27     ` Andrew Morton
2013-05-16 16:27       ` Andrew Morton

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=20130516075205.GD24072@caracas.corpusers.net \
    --to=oskar.andero@sonymobile.com \
    --cc=Radovan.Lekanovic@sonymobile.com \
    --cc=akpm@linux-foundation.org \
    --cc=glommer@parallels.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hughd@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=rientjes@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.