public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] Fix misleading comment in bio.h
@ 2009-02-02  0:07 Alberto Bertogli
  2009-02-02  0:07 ` [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline Alberto Bertogli
  0 siblings, 1 reply; 7+ messages in thread
From: Alberto Bertogli @ 2009-02-02  0:07 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, Alberto Bertogli

The comment says "remember to add offset!", but the function already adds
it.

Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
---
 include/linux/bio.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/bio.h b/include/linux/bio.h
index 18462c5..0c8e3fb 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -440,8 +440,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
 
 #ifdef CONFIG_HIGHMEM
 /*
- * remember to add offset! and never ever reenable interrupts between a
- * bvec_kmap_irq and bvec_kunmap_irq!!
+ * remember never ever reenable interrupts between a bvec_kmap_irq and
+ * bvec_kunmap_irq!
  *
  * This function MUST be inlined - it plays with the CPU interrupt flags.
  */
-- 
1.6.1.1.363.g2a3bd


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline
  2009-02-02  0:07 [PATCH 1/2] Fix misleading comment in bio.h Alberto Bertogli
@ 2009-02-02  0:07 ` Alberto Bertogli
  2009-02-02 11:41   ` Jens Axboe
  2009-02-03  8:51   ` Andrew Morton
  0 siblings, 2 replies; 7+ messages in thread
From: Alberto Bertogli @ 2009-02-02  0:07 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, Alberto Bertogli

bvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined,
so mark them as __always_inline.

Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
---
 include/linux/bio.h |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/include/linux/bio.h b/include/linux/bio.h
index 0c8e3fb..713ec6e 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -445,7 +445,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
  *
  * This function MUST be inlined - it plays with the CPU interrupt flags.
  */
-static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
+static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
+		unsigned long *flags)
 {
 	unsigned long addr;
 
@@ -461,7 +462,8 @@ static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
 	return (char *) addr + bvec->bv_offset;
 }
 
-static inline void bvec_kunmap_irq(char *buffer, unsigned long *flags)
+static __always_inline void bvec_kunmap_irq(char *buffer,
+		unsigned long *flags)
 {
 	unsigned long ptr = (unsigned long) buffer & PAGE_MASK;
 
-- 
1.6.1.1.363.g2a3bd


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline
  2009-02-02  0:07 ` [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline Alberto Bertogli
@ 2009-02-02 11:41   ` Jens Axboe
  2009-02-03  8:51   ` Andrew Morton
  1 sibling, 0 replies; 7+ messages in thread
From: Jens Axboe @ 2009-02-02 11:41 UTC (permalink / raw)
  To: Alberto Bertogli; +Cc: linux-kernel

On Sun, Feb 01 2009, Alberto Bertogli wrote:
> bvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined,
> so mark them as __always_inline.

Thanks Alberto, applied 1-2.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline
  2009-02-03  8:51   ` Andrew Morton
@ 2009-02-03  8:51     ` Jens Axboe
  2009-02-04 18:45       ` [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq() Alberto Bertogli
  0 siblings, 1 reply; 7+ messages in thread
From: Jens Axboe @ 2009-02-03  8:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Alberto Bertogli, linux-kernel

On Tue, Feb 03 2009, Andrew Morton wrote:
> On Sun,  1 Feb 2009 22:07:31 -0200 Alberto Bertogli <albertito@blitiri.com.ar> wrote:
> 
> > bvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined,
> > so mark them as __always_inline.
> > 
> > Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
> > ---
> >  include/linux/bio.h |    6 ++++--
> >  1 files changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/include/linux/bio.h b/include/linux/bio.h
> > index 0c8e3fb..713ec6e 100644
> > --- a/include/linux/bio.h
> > +++ b/include/linux/bio.h
> > @@ -445,7 +445,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
> >   *
> >   * This function MUST be inlined - it plays with the CPU interrupt flags.
> >   */
> > -static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
> > +static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
> > +		unsigned long *flags)
> 
> The comment is wrong - this was a sparc requirement, long since removed.

The comment probably dates back to around 2001 or so, I wasn't aware
that the non-local irq flags requirement had since been voided on sparc.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline
  2009-02-02  0:07 ` [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline Alberto Bertogli
  2009-02-02 11:41   ` Jens Axboe
@ 2009-02-03  8:51   ` Andrew Morton
  2009-02-03  8:51     ` Jens Axboe
  1 sibling, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2009-02-03  8:51 UTC (permalink / raw)
  To: Alberto Bertogli; +Cc: axboe, linux-kernel

On Sun,  1 Feb 2009 22:07:31 -0200 Alberto Bertogli <albertito@blitiri.com.ar> wrote:

> bvec_kmap_irq() and bvec_kunmap_irq() comments say they MUST be inlined,
> so mark them as __always_inline.
> 
> Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
> ---
>  include/linux/bio.h |    6 ++++--
>  1 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/bio.h b/include/linux/bio.h
> index 0c8e3fb..713ec6e 100644
> --- a/include/linux/bio.h
> +++ b/include/linux/bio.h
> @@ -445,7 +445,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
>   *
>   * This function MUST be inlined - it plays with the CPU interrupt flags.
>   */
> -static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
> +static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
> +		unsigned long *flags)

The comment is wrong - this was a sparc requirement, long since removed.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq()
  2009-02-03  8:51     ` Jens Axboe
@ 2009-02-04 18:45       ` Alberto Bertogli
  2009-02-04 18:49         ` Alberto Bertogli
  0 siblings, 1 reply; 7+ messages in thread
From: Alberto Bertogli @ 2009-02-04 18:45 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, Alberto Bertogli

On Tue, Feb 03 2009, Andrew Morton wrote:
> The comment is wrong - this was a sparc requirement, long since removed.

So remove both the comment and the inline requirement, going back to the
inline hint.

Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
---

So I came up with this, but I'm not sure if it's better than just avoid the
inline and placing them somewhere else. If you want me to write a different
patch, let me know.

Thanks a lot,
		Alberto



 include/linux/bio.h |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/linux/bio.h b/include/linux/bio.h
index 713ec6e..20bcc51 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -442,10 +442,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
 /*
  * remember never ever reenable interrupts between a bvec_kmap_irq and
  * bvec_kunmap_irq!
- *
- * This function MUST be inlined - it plays with the CPU interrupt flags.
  */
-static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
+static inline char *bvec_kmap_irq(struct bio_vec *bvec,
 		unsigned long *flags)
 {
 	unsigned long addr;
@@ -462,7 +460,7 @@ static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
 	return (char *) addr + bvec->bv_offset;
 }
 
-static __always_inline void bvec_kunmap_irq(char *buffer,
+static inline void bvec_kunmap_irq(char *buffer,
 		unsigned long *flags)
 {
 	unsigned long ptr = (unsigned long) buffer & PAGE_MASK;
-- 
1.6.1.1.363.g2a3bd


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq()
  2009-02-04 18:45       ` [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq() Alberto Bertogli
@ 2009-02-04 18:49         ` Alberto Bertogli
  0 siblings, 0 replies; 7+ messages in thread
From: Alberto Bertogli @ 2009-02-04 18:49 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel, akpm, Alberto Bertogli

On Tue, Feb 03 2009, Andrew Morton wrote:
> The comment is wrong - this was a sparc requirement, long since removed.

So remove both the comment and the inline requirement, going back to the
inline hint.

Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
---

This is the same patch as before, except it's properly indented because
everything fits < 80 columns or so.

 include/linux/bio.h |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/include/linux/bio.h b/include/linux/bio.h
index 713ec6e..972a0e4 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -442,11 +442,8 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
 /*
  * remember never ever reenable interrupts between a bvec_kmap_irq and
  * bvec_kunmap_irq!
- *
- * This function MUST be inlined - it plays with the CPU interrupt flags.
  */
-static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
-		unsigned long *flags)
+static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
 {
 	unsigned long addr;
 
@@ -462,8 +459,7 @@ static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
 	return (char *) addr + bvec->bv_offset;
 }
 
-static __always_inline void bvec_kunmap_irq(char *buffer,
-		unsigned long *flags)
+static inline void bvec_kunmap_irq(char *buffer, unsigned long *flags)
 {
 	unsigned long ptr = (unsigned long) buffer & PAGE_MASK;
 
-- 
1.6.1.1.363.g2a3bd


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-02-04 19:07 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-02  0:07 [PATCH 1/2] Fix misleading comment in bio.h Alberto Bertogli
2009-02-02  0:07 ` [PATCH 2/2] bio.h: If they MUST be inlined, then use __always_inline Alberto Bertogli
2009-02-02 11:41   ` Jens Axboe
2009-02-03  8:51   ` Andrew Morton
2009-02-03  8:51     ` Jens Axboe
2009-02-04 18:45       ` [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq() Alberto Bertogli
2009-02-04 18:49         ` Alberto Bertogli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox