Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1314093 > unrolled thread

Re: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure

Started byDavid Vrabel <david.vrabel@citrix.com>
First post2016-01-21 11:50 +0100
Last post2016-01-21 22:40 +0100
Articles 4 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure David Vrabel <david.vrabel@citrix.com> - 2016-01-21 11:50 +0100
    Re: [Xen-devel] [PATCH] cleancache: constify cleancache_ops  structure Julia Lawall <julia.lawall@lip6.fr> - 2016-01-21 12:10 +0100
    [Xen-devel] [PATCH v2] cleancache: constify cleancache_ops  structure Julia Lawall <julia.lawall@lip6.fr> - 2016-01-21 16:50 +0100
      Re: [Xen-devel] [PATCH v2] cleancache: constify cleancache_ops  structure Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2016-01-21 22:40 +0100

#1314093 — Re: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure

FromDavid Vrabel <david.vrabel@citrix.com>
Date2016-01-21 11:50 +0100
SubjectRe: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure
Message-ID<qTkYq-41z-31@gated-at.bofh.it>
On 23/12/15 21:06, Julia Lawall wrote:
> The cleancache_ops structure is never modified, so declare it as const.
> 
> This also removes the __read_mostly declaration on the cleancache_ops
> variable declaration, since it seems redundant with const.
> 
> Done with the help of Coccinelle.
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
> 
> Not sure that the __read_mostly change is correct.  Does it apply to the
> variable, or to what the variable points to?

The variable, so...

> --- a/mm/cleancache.c
> +++ b/mm/cleancache.c
> @@ -22,7 +22,7 @@
>   * cleancache_ops is set by cleancache_register_ops to contain the pointers
>   * to the cleancache "backend" implementation functions.
>   */
> -static struct cleancache_ops *cleancache_ops __read_mostly;
> +static const struct cleancache_ops *cleancache_ops;

...you want to retain the __read_mostly here.

David

[toc] | [next] | [standalone]


#1314109 — Re: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-01-21 12:10 +0100
SubjectRe: [Xen-devel] [PATCH] cleancache: constify cleancache_ops structure
Message-ID<qTlhM-4qv-25@gated-at.bofh.it>
In reply to#1314093

On Thu, 21 Jan 2016, David Vrabel wrote:

> On 23/12/15 21:06, Julia Lawall wrote:
> > The cleancache_ops structure is never modified, so declare it as const.
> >
> > This also removes the __read_mostly declaration on the cleancache_ops
> > variable declaration, since it seems redundant with const.
> >
> > Done with the help of Coccinelle.
> >
> > Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> >
> > ---
> >
> > Not sure that the __read_mostly change is correct.  Does it apply to the
> > variable, or to what the variable points to?
>
> The variable, so...

Thanks.  I'll update the patch, unless you have already fixed it.

julia

> > --- a/mm/cleancache.c
> > +++ b/mm/cleancache.c
> > @@ -22,7 +22,7 @@
> >   * cleancache_ops is set by cleancache_register_ops to contain the pointers
> >   * to the cleancache "backend" implementation functions.
> >   */
> > -static struct cleancache_ops *cleancache_ops __read_mostly;
> > +static const struct cleancache_ops *cleancache_ops;
>
> ...you want to retain the __read_mostly here.
>
> David
> --
> To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

[toc] | [prev] | [next] | [standalone]


#1314286 — [Xen-devel] [PATCH v2] cleancache: constify cleancache_ops structure

FromJulia Lawall <julia.lawall@lip6.fr>
Date2016-01-21 16:50 +0100
Subject[Xen-devel] [PATCH v2] cleancache: constify cleancache_ops structure
Message-ID<qTpEL-7eF-23@gated-at.bofh.it>
In reply to#1314093
The cleancache_ops structure is never modified, so declare it as const.

Done with the help of Coccinelle.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---

v2: put back the read mostly

 drivers/xen/tmem.c         |    2 +-
 include/linux/cleancache.h |    2 +-
 mm/cleancache.c            |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h
index bda5ec0b4..cb3e142 100644
--- a/include/linux/cleancache.h
+++ b/include/linux/cleancache.h
@@ -37,7 +37,7 @@ struct cleancache_ops {
 	void (*invalidate_fs)(int);
 };

-extern int cleancache_register_ops(struct cleancache_ops *ops);
+extern int cleancache_register_ops(const struct cleancache_ops *ops);
 extern void __cleancache_init_fs(struct super_block *);
 extern void __cleancache_init_shared_fs(struct super_block *);
 extern int  __cleancache_get_page(struct page *);
diff --git a/drivers/xen/tmem.c b/drivers/xen/tmem.c
index 945fc43..4ac2ca8 100644
--- a/drivers/xen/tmem.c
+++ b/drivers/xen/tmem.c
@@ -242,7 +242,7 @@ static int tmem_cleancache_init_shared_fs(char *uuid, size_t pagesize)
 	return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize);
 }

-static struct cleancache_ops tmem_cleancache_ops = {
+static const struct cleancache_ops tmem_cleancache_ops = {
 	.put_page = tmem_cleancache_put_page,
 	.get_page = tmem_cleancache_get_page,
 	.invalidate_page = tmem_cleancache_flush_page,
diff --git a/mm/cleancache.c b/mm/cleancache.c
index 8fc5081..c6356d6 100644
--- a/mm/cleancache.c
+++ b/mm/cleancache.c
@@ -22,7 +22,7 @@
  * cleancache_ops is set by cleancache_register_ops to contain the pointers
  * to the cleancache "backend" implementation functions.
  */
-static struct cleancache_ops *cleancache_ops __read_mostly;
+static const struct cleancache_ops *cleancache_ops __read_mostly;

 /*
  * Counters available via /sys/kernel/debug/cleancache (if debugfs is
@@ -49,7 +49,7 @@ static void cleancache_register_ops_sb(struct super_block *sb, void *unused)
 /*
  * Register operations for cleancache. Returns 0 on success.
  */
-int cleancache_register_ops(struct cleancache_ops *ops)
+int cleancache_register_ops(const struct cleancache_ops *ops)
 {
 	if (cmpxchg(&cleancache_ops, NULL, ops))
 		return -EBUSY;

[toc] | [prev] | [next] | [standalone]


#1314549 — Re: [Xen-devel] [PATCH v2] cleancache: constify cleancache_ops structure

FromKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date2016-01-21 22:40 +0100
SubjectRe: [Xen-devel] [PATCH v2] cleancache: constify cleancache_ops structure
Message-ID<qTv7s-2E4-27@gated-at.bofh.it>
In reply to#1314286
On Thu, Jan 21, 2016 at 04:47:29PM +0100, Julia Lawall wrote:
> The cleancache_ops structure is never modified, so declare it as const.
> 
> Done with the help of Coccinelle.

I will pull it in my tree and sent it to Linus.

Thanks!
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
> 
> ---
> 
> v2: put back the read mostly
> 
>  drivers/xen/tmem.c         |    2 +-
>  include/linux/cleancache.h |    2 +-
>  mm/cleancache.c            |    4 ++--
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/include/linux/cleancache.h b/include/linux/cleancache.h
> index bda5ec0b4..cb3e142 100644
> --- a/include/linux/cleancache.h
> +++ b/include/linux/cleancache.h
> @@ -37,7 +37,7 @@ struct cleancache_ops {
>  	void (*invalidate_fs)(int);
>  };
> 
> -extern int cleancache_register_ops(struct cleancache_ops *ops);
> +extern int cleancache_register_ops(const struct cleancache_ops *ops);
>  extern void __cleancache_init_fs(struct super_block *);
>  extern void __cleancache_init_shared_fs(struct super_block *);
>  extern int  __cleancache_get_page(struct page *);
> diff --git a/drivers/xen/tmem.c b/drivers/xen/tmem.c
> index 945fc43..4ac2ca8 100644
> --- a/drivers/xen/tmem.c
> +++ b/drivers/xen/tmem.c
> @@ -242,7 +242,7 @@ static int tmem_cleancache_init_shared_fs(char *uuid, size_t pagesize)
>  	return xen_tmem_new_pool(shared_uuid, TMEM_POOL_SHARED, pagesize);
>  }
> 
> -static struct cleancache_ops tmem_cleancache_ops = {
> +static const struct cleancache_ops tmem_cleancache_ops = {
>  	.put_page = tmem_cleancache_put_page,
>  	.get_page = tmem_cleancache_get_page,
>  	.invalidate_page = tmem_cleancache_flush_page,
> diff --git a/mm/cleancache.c b/mm/cleancache.c
> index 8fc5081..c6356d6 100644
> --- a/mm/cleancache.c
> +++ b/mm/cleancache.c
> @@ -22,7 +22,7 @@
>   * cleancache_ops is set by cleancache_register_ops to contain the pointers
>   * to the cleancache "backend" implementation functions.
>   */
> -static struct cleancache_ops *cleancache_ops __read_mostly;
> +static const struct cleancache_ops *cleancache_ops __read_mostly;
> 
>  /*
>   * Counters available via /sys/kernel/debug/cleancache (if debugfs is
> @@ -49,7 +49,7 @@ static void cleancache_register_ops_sb(struct super_block *sb, void *unused)
>  /*
>   * Register operations for cleancache. Returns 0 on success.
>   */
> -int cleancache_register_ops(struct cleancache_ops *ops)
> +int cleancache_register_ops(const struct cleancache_ops *ops)
>  {
>  	if (cmpxchg(&cleancache_ops, NULL, ops))
>  		return -EBUSY;
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web