linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
To: Geert Uytterhoeven <geert@linux-m68k.org>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: "Kees Cook" <keescook@chromium.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Michael Turquette" <mturquette@baylibre.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Greg KH" <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"Arend van Spriel" <aspriel@gmail.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	vivek.gautam@codeaurora.org,
	"Robin Murphy" <robin.murphy@arm.com>,
	"Joe Perches" <joe@perches.com>,
	"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Mike Rapoport" <rppt@linux.vnet.ibm.com>,
	"Michal Hocko" <mhocko@suse.com>,
	"Al Viro" <viro@zeniv.linux.org.uk>,
	"Jonathan Corbet" <corbet@lwn.net>,
	guro@fb.com, "Huang Ying" <ying.huang@intel.com>,
	"Björn Andersson" <bjorn.andersson@linaro.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	linux-clk <linux-clk@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Linux MM" <linux-mm@kvack.org>
Subject: Re: [PATCH v3 3/4] devres: provide devm_kstrdup_const()
Date: Thu, 27 Sep 2018 13:30:13 +0200	[thread overview]
Message-ID: <c9d0cf98-628d-f2c2-016c-c13d5bdb76c7@rasmusvillemoes.dk> (raw)
In-Reply-To: <CAMuHMdWi0TQfu093po9-TniiLa2=T1E1c5R0S0tr85F==GcaGw@mail.gmail.com>

On 2018-09-27 13:01, Geert Uytterhoeven wrote:
> Hi Rasmus,
> 
> On Thu, Sep 27, 2018 at 12:55 PM Rasmus Villemoes
> <linux@rasmusvillemoes.dk> wrote:
>> On 2018-09-27 01:13, Kees Cook wrote:
>>
>> Just drop devm_kfree_const and teach devm_kfree to ignore
>> is_kernel_rodata(). That avoids the 50-100 bytes of overhead for adding
>> yet another EXPORT_SYMBOL and makes it easier to port drivers to
>> devm_kstrdup_const (and avoids the bugs Kees is worried about). devm
>> managed resources are almost never freed explicitly, so that single
>> extra comparison in devm_kfree shouldn't matter for performance.
> 
> I guess we can also teach kfree() to ignore is_kernel_rodata(), and
> drop kfree_const()?

In principle, yes, but the difference is that kfree() is called a lot
more frequently, and on normal code paths, whereas devm_kfree is more
often (though not always) called on error paths.

The goal of _const variants of strdup is to save some memory, so one
place to start is to reduce the .text overhead of that feature. And it
avoids introducing subtle bugs if some devm_kfree() call is missed
during conversion to devm_kstrdup_const().

Rasmus

  reply	other threads:[~2018-09-27 11:30 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-24 10:11 [PATCH v3 0/4] devres: provide and use devm_kstrdup_const() Bartosz Golaszewski
2018-09-24 10:11 ` [PATCH v3 1/4] devres: constify p in devm_kfree() Bartosz Golaszewski
2018-09-24 10:11 ` [PATCH v3 2/4] mm: move is_kernel_rodata() to asm-generic/sections.h Bartosz Golaszewski
2018-09-24 10:31   ` Mike Rapoport
2018-09-24 10:11 ` [PATCH v3 3/4] devres: provide devm_kstrdup_const() Bartosz Golaszewski
2018-09-24 10:32   ` Mike Rapoport
2018-09-26 23:13   ` Kees Cook
2018-09-27  8:53     ` Bartosz Golaszewski
2018-09-27 10:55     ` Rasmus Villemoes
2018-09-27 11:01       ` Geert Uytterhoeven
2018-09-27 11:30         ` Rasmus Villemoes [this message]
2018-09-24 10:11 ` [PATCH v3 4/4] clk: pmc-atom: use devm_kstrdup_const() Bartosz Golaszewski
2018-09-24 11:23   ` Andy Shevchenko
2018-09-24 11:44     ` Bartosz Golaszewski
2018-09-24 12:11       ` Andy Shevchenko
2018-09-24 11:16 ` [PATCH v3 0/4] devres: provide and " Andy Shevchenko
2018-09-24 11:20   ` Bartosz Golaszewski

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=c9d0cf98-628d-f2c2-016c-c13d5bdb76c7@rasmusvillemoes.dk \
    --to=linux@rasmusvillemoes.dk \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=arnd@arndb.de \
    --cc=aspriel@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=brgl@bgdev.pl \
    --cc=corbet@lwn.net \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=guro@fb.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=joe@perches.com \
    --cc=keescook@chromium.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=mturquette@baylibre.com \
    --cc=rafael.j.wysocki@intel.com \
    --cc=robin.murphy@arm.com \
    --cc=rppt@linux.vnet.ibm.com \
    --cc=sboyd@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vivek.gautam@codeaurora.org \
    --cc=ying.huang@intel.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