2009-10-31 21:44:53

by Alberto Bertogli

[permalink] [raw]
Subject: [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq()

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 <[email protected]>
---
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 5be93f1..474792b 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -450,11 +450,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;

@@ -470,8 +467,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.5.2.250.g2bd30


2009-11-02 10:47:00

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] Do not __always_inline bvec_kmap_irq() and bvec_kunmap_irq()

On Sat, Oct 31 2009, Alberto Bertogli wrote:
> 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.

Thanks, applied to for-2.6.33.

--
Jens Axboe