From: Minchan Kim <minchan@kernel.org>
To: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Ganesh Mahendran <opensource.ganesh@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Linux-MM <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Nitin Gupta <ngupta@vflare.org>,
rostedt@goodmis.org, mingo@redhat.com
Subject: Re: [PATCH v2 7/8] mm/zsmalloc: add __init,__exit attribute
Date: Wed, 6 Jul 2016 11:48:30 +0900 [thread overview]
Message-ID: <20160706024830.GG13566@bbox> (raw)
In-Reply-To: <20160705010028.GA459@swordfish>
On Tue, Jul 05, 2016 at 10:00:28AM +0900, Sergey Senozhatsky wrote:
> Hello Ganesh,
>
> On (07/04/16 17:21), Ganesh Mahendran wrote:
> > > On (07/04/16 14:49), Ganesh Mahendran wrote:
> > > [..]
> > >> -static void zs_unregister_cpu_notifier(void)
> > >> +static void __exit zs_unregister_cpu_notifier(void)
> > >> {
> > >
> > > this __exit symbol is called from `__init zs_init()' and thus is
> > > free to crash.
> >
> > I change code to force the code goto notifier_fail where the
> > zs_unregister_cpu_notifier will be called.
> > I tested with zsmalloc module buildin and built as a module.
>
> sorry, not sure I understand what do you mean by this.
It seems he tested it both builtin and module with simulating to fail
zs_register_cpu_notifier so that finally called zs_unergister_cpu_notifier.
With that, he cannot find any problem.
>
>
> > Please correct me, if I miss something.
>
> you have an __exit section function being called from
> __init section:
>
> static void __exit zs_unregister_cpu_notifier(void)
> {
> }
>
> static int __init zs_init(void)
> {
> zs_unregister_cpu_notifier();
> }
>
> it's no good.
Agree.
I didn't look at linker script how to handle it. Although it works well,
it would be not desirable to mark __exit to the function we already
know it would be called from non-exit functions.
--
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: Minchan Kim <minchan@kernel.org>
To: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Ganesh Mahendran <opensource.ganesh@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Linux-MM <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Nitin Gupta <ngupta@vflare.org>, <rostedt@goodmis.org>,
<mingo@redhat.com>
Subject: Re: [PATCH v2 7/8] mm/zsmalloc: add __init,__exit attribute
Date: Wed, 6 Jul 2016 11:48:30 +0900 [thread overview]
Message-ID: <20160706024830.GG13566@bbox> (raw)
In-Reply-To: <20160705010028.GA459@swordfish>
On Tue, Jul 05, 2016 at 10:00:28AM +0900, Sergey Senozhatsky wrote:
> Hello Ganesh,
>
> On (07/04/16 17:21), Ganesh Mahendran wrote:
> > > On (07/04/16 14:49), Ganesh Mahendran wrote:
> > > [..]
> > >> -static void zs_unregister_cpu_notifier(void)
> > >> +static void __exit zs_unregister_cpu_notifier(void)
> > >> {
> > >
> > > this __exit symbol is called from `__init zs_init()' and thus is
> > > free to crash.
> >
> > I change code to force the code goto notifier_fail where the
> > zs_unregister_cpu_notifier will be called.
> > I tested with zsmalloc module buildin and built as a module.
>
> sorry, not sure I understand what do you mean by this.
It seems he tested it both builtin and module with simulating to fail
zs_register_cpu_notifier so that finally called zs_unergister_cpu_notifier.
With that, he cannot find any problem.
>
>
> > Please correct me, if I miss something.
>
> you have an __exit section function being called from
> __init section:
>
> static void __exit zs_unregister_cpu_notifier(void)
> {
> }
>
> static int __init zs_init(void)
> {
> zs_unregister_cpu_notifier();
> }
>
> it's no good.
Agree.
I didn't look at linker script how to handle it. Although it works well,
it would be not desirable to mark __exit to the function we already
know it would be called from non-exit functions.
next prev parent reply other threads:[~2016-07-06 2:47 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-04 6:49 [PATCH v2 1/8] mm/zsmalloc: modify zs compact trace interface Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-04 6:49 ` [PATCH v2 2/8] mm/zsmalloc: use obj_index to keep consistent with others Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-05 1:25 ` Sergey Senozhatsky
2016-07-05 1:25 ` Sergey Senozhatsky
2016-07-06 2:37 ` Minchan Kim
2016-07-06 2:37 ` Minchan Kim
2016-07-04 6:49 ` [PATCH v2 3/8] mm/zsmalloc: take obj index back from find_alloced_obj Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-05 1:32 ` Sergey Senozhatsky
2016-07-05 1:32 ` Sergey Senozhatsky
2016-07-06 2:40 ` Minchan Kim
2016-07-06 2:40 ` Minchan Kim
2016-07-04 6:49 ` [PATCH v2 4/8] mm/zsmalloc: use class->objs_per_zspage to get num of max objects Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-05 1:30 ` Sergey Senozhatsky
2016-07-05 1:30 ` Sergey Senozhatsky
2016-07-04 6:49 ` [PATCH v2 5/8] mm/zsmalloc: avoid calculate max objects of zspage twice Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-05 1:18 ` Sergey Senozhatsky
2016-07-05 1:18 ` Sergey Senozhatsky
2016-07-06 2:41 ` Minchan Kim
2016-07-06 2:41 ` Minchan Kim
2016-07-04 6:49 ` [PATCH v2 6/8] mm/zsmalloc: keep comments consistent with code Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-05 1:11 ` Sergey Senozhatsky
2016-07-05 1:11 ` Sergey Senozhatsky
2016-07-06 2:41 ` Minchan Kim
2016-07-06 2:41 ` Minchan Kim
2016-07-04 6:49 ` [PATCH v2 7/8] mm/zsmalloc: add __init,__exit attribute Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-04 8:43 ` Sergey Senozhatsky
2016-07-04 8:43 ` Sergey Senozhatsky
2016-07-04 9:21 ` Ganesh Mahendran
2016-07-04 9:21 ` Ganesh Mahendran
2016-07-05 1:00 ` Sergey Senozhatsky
2016-07-05 1:00 ` Sergey Senozhatsky
2016-07-06 2:48 ` Minchan Kim [this message]
2016-07-06 2:48 ` Minchan Kim
2016-07-06 6:21 ` Ganesh Mahendran
2016-07-06 6:21 ` Ganesh Mahendran
2016-07-04 6:49 ` [PATCH v2 8/8] mm/zsmalloc: use helper to clear page->flags bit Ganesh Mahendran
2016-07-04 6:49 ` Ganesh Mahendran
2016-07-04 8:45 ` Sergey Senozhatsky
2016-07-04 8:45 ` Sergey Senozhatsky
2016-07-05 16:50 ` [PATCH v2 1/8] mm/zsmalloc: modify zs compact trace interface Steven Rostedt
2016-07-05 16:50 ` Steven Rostedt
2016-07-06 2:32 ` Minchan Kim
2016-07-06 2:32 ` Minchan Kim
2016-07-06 6:20 ` Ganesh Mahendran
2016-07-06 6:20 ` Ganesh Mahendran
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=20160706024830.GG13566@bbox \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@redhat.com \
--cc=ngupta@vflare.org \
--cc=opensource.ganesh@gmail.com \
--cc=rostedt@goodmis.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 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.