diff mbox

[v9,16/18] arm,arm64: do not always merge biovec if we are running on Xen

Message ID alpine.DEB.2.02.1311061222290.26077@kaball.uk.xensource.com (mailing list archive)
State New, archived
Headers show

Commit Message

Stefano Stabellini Nov. 6, 2013, 12:40 p.m. UTC
On Tue, 5 Nov 2013, Olof Johansson wrote:
> Hi,
> 
> On Fri, Oct 25, 2013 at 3:51 AM, Stefano Stabellini
> <stefano.stabellini@eu.citrix.com> wrote:
> > This is similar to what it is done on X86: biovecs are prevented from merging
> > otherwise every dma requests would be forced to bounce on the swiotlb buffer.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > Acked-by: Catalin Marinas <catalin.marinas@arm.com>
> 
> 
> This is spewing 800+ warnings on ape6evm_defconfig on ARM that doesn't
> have CONFIG_BLOCK enabled, since struct bio_vec is protected by that
> in include/linux/blk_types.h. I guess it could be argued that those
> ifdefs could be removed, but still:
> 
> ../../arch/arm/include/asm/io.h:378:24: warning: its scope is only
> this definition or declaration, which is probably not what you want
> [enabled by default]
> In file included from ../../include/linux/scatterlist.h:10:0,
>                  from ../../include/linux/dmaengine.h:27,
>                  from ../../include/linux/skbuff.h:31,
>                  from ../../include/crypto/algapi.h:18,
>                  from ../../crypto/internal.h:16,
>                  from ../../crypto/cipher.c:21:
> ../../arch/arm/include/asm/io.h:378:24: warning: 'struct bio_vec'
> declared inside parameter list [enabled by default]
>            const struct bio_vec *vec2);

Thanks for letting me know.
What about the following?


commit 06fc174ce8da30f81b59c9d1d7680a2490525884
Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Date:   Wed Nov 6 12:38:28 2013 +0000

    arm,arm64/include/asm/io.h: define struct bio_vec
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Comments

Olof Johansson Nov. 6, 2013, 3:27 p.m. UTC | #1
On Wed, Nov 6, 2013 at 4:40 AM, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Tue, 5 Nov 2013, Olof Johansson wrote:
>> Hi,
>>
>> On Fri, Oct 25, 2013 at 3:51 AM, Stefano Stabellini
>> <stefano.stabellini@eu.citrix.com> wrote:
>> > This is similar to what it is done on X86: biovecs are prevented from merging
>> > otherwise every dma requests would be forced to bounce on the swiotlb buffer.
>> >
>> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>> > Acked-by: Catalin Marinas <catalin.marinas@arm.com>
>>
>>
>> This is spewing 800+ warnings on ape6evm_defconfig on ARM that doesn't
>> have CONFIG_BLOCK enabled, since struct bio_vec is protected by that
>> in include/linux/blk_types.h. I guess it could be argued that those
>> ifdefs could be removed, but still:
>>
>> ../../arch/arm/include/asm/io.h:378:24: warning: its scope is only
>> this definition or declaration, which is probably not what you want
>> [enabled by default]
>> In file included from ../../include/linux/scatterlist.h:10:0,
>>                  from ../../include/linux/dmaengine.h:27,
>>                  from ../../include/linux/skbuff.h:31,
>>                  from ../../include/crypto/algapi.h:18,
>>                  from ../../crypto/internal.h:16,
>>                  from ../../crypto/cipher.c:21:
>> ../../arch/arm/include/asm/io.h:378:24: warning: 'struct bio_vec'
>> declared inside parameter list [enabled by default]
>>            const struct bio_vec *vec2);
>
> Thanks for letting me know.
> What about the following?
>
>
> commit 06fc174ce8da30f81b59c9d1d7680a2490525884
> Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> Date:   Wed Nov 6 12:38:28 2013 +0000
>
>     arm,arm64/include/asm/io.h: define struct bio_vec
>
>     Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Acked-by: Olof Johansson <olof@lixom.net>


-Olof
diff mbox

Patch

diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index c45effc..3c597c2 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -374,6 +374,7 @@  extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr);
 #define BIOVEC_MERGEABLE(vec1, vec2)	\
 	((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2)))
 
+struct bio_vec;
 extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
 				      const struct bio_vec *vec2);
 #define BIOVEC_PHYS_MERGEABLE(vec1, vec2)				\
diff --git a/arch/arm64/include/asm/io.h b/arch/arm64/include/asm/io.h
index c163287b..757c87a 100644
--- a/arch/arm64/include/asm/io.h
+++ b/arch/arm64/include/asm/io.h
@@ -266,6 +266,7 @@  extern int devmem_is_allowed(unsigned long pfn);
  */
 #define xlate_dev_kmem_ptr(p)	p
 
+struct bio_vec;
 extern bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
 				      const struct bio_vec *vec2);
 #define BIOVEC_PHYS_MERGEABLE(vec1, vec2)				\