Re: [PATCH v2 6/6] powerpc/perf/hv-24x7: catalog version number is be64, not be32
On Sun, 2014-04-27 at 21:59 -0700, Cody P Schafer wrote: > On 04/27/2014 09:47 PM, Benjamin Herrenschmidt wrote: > > On Tue, 2014-04-15 at 10:10 -0700, Cody P Schafer wrote: > >> The catalog version number was changed from a be32 (with proceeding > >> 32bits of padding) to a be64, update the code to treat it as a be64 > >> > >> Signed-off-by: Cody P Schafer > >> -- > > > > Have you tested this ? > > > > It doesn't build for me: > > > > arch/powerpc/perf/hv-24x7.c: In function 'catalog_read': > > arch/powerpc/perf/hv-24x7.c:223:3: error: format '%d' expects argument of > > type 'int', but argument 2 has type 'uint64_t' [-Werror=format] > > cc1: all warnings being treated as errors > > I have, and I wasn't initially sure how I managed to miss that > warning-as-error. On examination: My config (for some reason) has > CONFIG_PPC_DISABLE_WERROR=y set (probably because it's a variation of a > distro config). Please test build with ppc64_defconfig at least. cheers -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 6/6] powerpc/perf/hv-24x7: catalog version number is be64, not be32
On 04/27/2014 09:47 PM, Benjamin Herrenschmidt wrote: On Tue, 2014-04-15 at 10:10 -0700, Cody P Schafer wrote: The catalog version number was changed from a be32 (with proceeding 32bits of padding) to a be64, update the code to treat it as a be64 Signed-off-by: Cody P Schafer -- Have you tested this ? It doesn't build for me: arch/powerpc/perf/hv-24x7.c: In function 'catalog_read': arch/powerpc/perf/hv-24x7.c:223:3: error: format '%d' expects argument of type 'int', but argument 2 has type 'uint64_t' [-Werror=format] cc1: all warnings being treated as errors I have, and I wasn't initially sure how I managed to miss that warning-as-error. On examination: My config (for some reason) has CONFIG_PPC_DISABLE_WERROR=y set (probably because it's a variation of a distro config). Must have been piping the warnings to a file and forgotten to check the file. I'll fix that up in my tree. Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 6/6] powerpc/perf/hv-24x7: catalog version number is be64, not be32
On Tue, 2014-04-15 at 10:10 -0700, Cody P Schafer wrote: > The catalog version number was changed from a be32 (with proceeding > 32bits of padding) to a be64, update the code to treat it as a be64 > > Signed-off-by: Cody P Schafer > -- Have you tested this ? It doesn't build for me: arch/powerpc/perf/hv-24x7.c: In function 'catalog_read': arch/powerpc/perf/hv-24x7.c:223:3: error: format '%d' expects argument of type 'int', but argument 2 has type 'uint64_t' [-Werror=format] cc1: all warnings being treated as errors I'll fix that up in my tree. Cheers, Ben. > arch/powerpc/perf/hv-24x7.c | 8 > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c > index 95a67f8..9d4badc 100644 > --- a/arch/powerpc/perf/hv-24x7.c > +++ b/arch/powerpc/perf/hv-24x7.c > @@ -171,7 +171,7 @@ static unsigned long h_get_24x7_catalog_page_(unsigned > long phys_4096, > } > > static unsigned long h_get_24x7_catalog_page(char page[], > - u32 version, u32 index) > + u64 version, u32 index) > { > return h_get_24x7_catalog_page_(virt_to_phys(page), > version, index); > @@ -185,7 +185,7 @@ static ssize_t catalog_read(struct file *filp, struct > kobject *kobj, > ssize_t ret = 0; > size_t catalog_len = 0, catalog_page_len = 0, page_count = 0; > loff_t page_offset = 0; > - uint32_t catalog_version_num = 0; > + uint64_t catalog_version_num = 0; > void *page = kmem_cache_alloc(hv_page_cache, GFP_USER); > struct hv_24x7_catalog_page_0 *page_0 = page; > if (!page) > @@ -197,7 +197,7 @@ static ssize_t catalog_read(struct file *filp, struct > kobject *kobj, > goto e_free; > } > > - catalog_version_num = be32_to_cpu(page_0->version); > + catalog_version_num = be64_to_cpu(page_0->version); > catalog_page_len = be32_to_cpu(page_0->length); > catalog_len = catalog_page_len * 4096; > > @@ -255,7 +255,7 @@ e_free: > \ > static DEVICE_ATTR_RO(_name) > > PAGE_0_ATTR(catalog_version, "%lld\n", > - (unsigned long long)be32_to_cpu(page_0->version)); > + (unsigned long long)be64_to_cpu(page_0->version)); > PAGE_0_ATTR(catalog_len, "%lld\n", > (unsigned long long)be32_to_cpu(page_0->length) * 4096); > static BIN_ATTR_RO(catalog, 0/* real length varies */); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH v2 6/6] powerpc/perf/hv-24x7: catalog version number is be64, not be32
The catalog version number was changed from a be32 (with proceeding 32bits of padding) to a be64, update the code to treat it as a be64 Signed-off-by: Cody P Schafer --- arch/powerpc/perf/hv-24x7.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c index 95a67f8..9d4badc 100644 --- a/arch/powerpc/perf/hv-24x7.c +++ b/arch/powerpc/perf/hv-24x7.c @@ -171,7 +171,7 @@ static unsigned long h_get_24x7_catalog_page_(unsigned long phys_4096, } static unsigned long h_get_24x7_catalog_page(char page[], -u32 version, u32 index) +u64 version, u32 index) { return h_get_24x7_catalog_page_(virt_to_phys(page), version, index); @@ -185,7 +185,7 @@ static ssize_t catalog_read(struct file *filp, struct kobject *kobj, ssize_t ret = 0; size_t catalog_len = 0, catalog_page_len = 0, page_count = 0; loff_t page_offset = 0; - uint32_t catalog_version_num = 0; + uint64_t catalog_version_num = 0; void *page = kmem_cache_alloc(hv_page_cache, GFP_USER); struct hv_24x7_catalog_page_0 *page_0 = page; if (!page) @@ -197,7 +197,7 @@ static ssize_t catalog_read(struct file *filp, struct kobject *kobj, goto e_free; } - catalog_version_num = be32_to_cpu(page_0->version); + catalog_version_num = be64_to_cpu(page_0->version); catalog_page_len = be32_to_cpu(page_0->length); catalog_len = catalog_page_len * 4096; @@ -255,7 +255,7 @@ e_free: \ static DEVICE_ATTR_RO(_name) PAGE_0_ATTR(catalog_version, "%lld\n", - (unsigned long long)be32_to_cpu(page_0->version)); + (unsigned long long)be64_to_cpu(page_0->version)); PAGE_0_ATTR(catalog_len, "%lld\n", (unsigned long long)be32_to_cpu(page_0->length) * 4096); static BIN_ATTR_RO(catalog, 0/* real length varies */); -- 1.9.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/