Tree/Branch: next-20150513 Git describe: next-20150513 Commit: b8c256259d Add linux-next specific files for 20150513
Build Time: 64 min 33 sec
Passed: 7 / 9 ( 77.78 %) Failed: 2 / 9 ( 22.22 %)
Errors: 1 Warnings: 47 Section Mismatches: 1
Failed defconfigs: arm64-allmodconfig arm-allmodconfig
Errors:
arm64-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
arm-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
------------------------------------------------------------------------------- defconfigs with issues (other than build errors): 32 warnings 1 mismatches : arm64-allmodconfig 3 warnings 0 mismatches : arm-multi_v7_defconfig 20 warnings 0 mismatches : arm-allmodconfig 1 warnings 0 mismatches : x86_64-defconfig
-------------------------------------------------------------------------------
Errors summary: 1 2 ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Warnings Summary: 47 4 ../drivers/gpu/drm/drm_crtc.c:4324:13: warning: 'drm_property_unreference_blob_locked' defined but not used [-Wunused-function] 2 ../drivers/staging/lustre/lustre/obdclass/cl_page.c:251:6: warning: unused variable 'pagesize' [-Wunused-variable] 2 ../drivers/staging/lustre/lustre/obdclass/acl.c:123:6: warning: unused variable 'old_size' [-Wunused-variable] 2 ../drivers/staging/lustre/lustre/llite/llite_lib.c:908:12: warning: unused variable 'instlen' [-Wunused-variable] 2 ../drivers/staging/lustre/lustre/llite/file.c:3242:17: warning: unused variable 'size' [-Wunused-variable] 2 ../drivers/staging/comedi/drivers/ni_mio_common.c:2271:34: warning: right-hand operand of comma expression has no effect [-Wunused-value] 2 ../drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp] 1 ../sound/soc/samsung/dmaengine.c:60:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../sound/soc/samsung/dmaengine.c:53:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../sound/atmel/ac97c.c:919:29: warning: unused variable 'match' [-Wunused-variable] 1 ../net/bluetooth/mgmt.c:6463:8: warning: 'r192' may be used uninitialized in this function [-Wmaybe-uninitialized] 1 ../net/bluetooth/mgmt.c:6463:8: warning: 'h192' may be used uninitialized in this function [-Wmaybe-uninitialized] 1 ../kernel/acct.c:174:2: warning: value computed is not used [-Wunused-value] 1 ../include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined [enabled by default] 1 ../drivers/usb/renesas_usbhs/common.c:492:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/scsi/scsi_debug.c:2376:8: warning: assignment from incompatible pointer type [enabled by default] 1 ../drivers/scsi/scsi_debug.c:2376:8: warning: assignment from incompatible pointer type 1 ../drivers/rtc/rtc-armada38x.c:91:22: warning: unused variable 'flags' [-Wunused-variable] 1 ../drivers/rtc/rtc-armada38x.c:67:34: warning: unused variable 'flags' [-Wunused-variable] 1 ../drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp] 1 ../drivers/net/ethernet/dec/tulip/tulip_core.c:101:2: warning: #warning Processor architecture undefined! [-Wcpp] 1 ../drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=] 1 ../drivers/mmc/host/sh_mmcif.c:407:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../drivers/mmc/host/sh_mmcif.c:406:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../drivers/media/platform/coda/./trace.h:12:0: warning: "TRACE_SYSTEM_STRING" redefined [enabled by default] 1 ../drivers/infiniband/hw/qib/qib_qp.c:44:0: warning: "BITS_PER_PAGE" redefined 1 ../drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c:975:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=] 1 ../drivers/gpu/drm/msm/msm_iommu.c:63:3: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/msm_iommu.c:102:3: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/msm_gem.c:490:4: warning: format '%d' expects argument of type 'int', but argument 11 has type 'size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/msm_drv.c:97:59: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/gpu/drm/msm/msm_drv.c:219:3: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'resource_size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/msm_drv.c:180:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/gpu/drm/msm/msm_drv.c:113:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/gpu/drm/msm/msm_drv.c:105:41: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/gpu/drm/msm/edp/edp_aux.c:158:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'ssize_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/edp/edp_aux.c:135:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/dsi/dsi_host.c:1043:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] 1 ../drivers/gpu/drm/msm/dsi/dsi_host.c:1026:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] 1 ../drivers/gpio/gpio-74xx-mmio.c:132:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 1 ../drivers/block/nvme-core.c:1822:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../drivers/block/nvme-core.c:1794:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1 ../drivers/block/drbd/drbd_bitmap.c:483:0: warning: "BITS_PER_PAGE_MASK" redefined 1 ../drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined 1 ../crypto/wp512.c:987:1: warning: the frame size of 1112 bytes is larger than 1024 bytes [-Wframe-larger-than=] 1 ../arch/arm/mach-cns3xxx/pcie.c:266:1: warning: the frame size of 1088 bytes is larger than 1024 bytes [-Wframe-larger-than=]
Section Mismatch Summary: 1 1 WARNING: drivers/staging/fsl-mc/bus/mc-bus-driver.o(.init.text+0x18c): Section mismatch in reference from the function init_module() to the function .exit.text:dprc_driver_exit()
=============================================================================== Detailed per-defconfig build reports below:
------------------------------------------------------------------------------- arm64-allmodconfig : FAIL, 1 errors, 32 warnings, 1 section mismatches
Errors: ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Warnings: ../drivers/block/drbd/drbd_bitmap.c:482:0: warning: "BITS_PER_PAGE" redefined ../drivers/block/drbd/drbd_bitmap.c:483:0: warning: "BITS_PER_PAGE_MASK" redefined ../drivers/gpio/gpio-74xx-mmio.c:132:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../sound/soc/samsung/dmaengine.c:53:32: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../sound/soc/samsung/dmaengine.c:60:31: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../drivers/gpu/drm/msm/edp/edp_aux.c:135:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/msm/edp/edp_aux.c:158:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'ssize_t' [-Wformat=] ../drivers/gpu/drm/msm/msm_drv.c:97:59: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../drivers/gpu/drm/msm/msm_drv.c:105:41: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../drivers/gpu/drm/msm/msm_drv.c:113:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../drivers/gpu/drm/msm/msm_drv.c:180:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../drivers/gpu/drm/msm/msm_drv.c:219:3: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'resource_size_t' [-Wformat=] ../drivers/gpu/drm/msm/msm_gem.c:490:4: warning: format '%d' expects argument of type 'int', but argument 11 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/msm/msm_iommu.c:63:3: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/msm/msm_iommu.c:102:3: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/msm/dsi/dsi_host.c:1026:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/msm/dsi/dsi_host.c:1043:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t' [-Wformat=] ../drivers/gpu/drm/drm_crtc.c:4324:13: warning: 'drm_property_unreference_blob_locked' defined but not used [-Wunused-function] ../drivers/infiniband/hw/qib/qib_qp.c:44:0: warning: "BITS_PER_PAGE" redefined ../drivers/mmc/host/sh_mmcif.c:406:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../drivers/mmc/host/sh_mmcif.c:407:4: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../drivers/staging/comedi/drivers/ni_mio_common.c:2271:34: warning: right-hand operand of comma expression has no effect [-Wunused-value] ../drivers/net/ethernet/dec/tulip/winbond-840.c:910:2: warning: #warning Processor architecture undefined [-Wcpp] ../drivers/net/ethernet/dec/tulip/tulip_core.c:101:2: warning: #warning Processor architecture undefined! [-Wcpp] ../drivers/staging/comedi/drivers/ni_mio_common.c:2271:34: warning: right-hand operand of comma expression has no effect [-Wunused-value] ../drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp] ../drivers/scsi/scsi_debug.c:2376:8: warning: assignment from incompatible pointer type ../drivers/staging/lustre/lustre/llite/file.c:3242:17: warning: unused variable 'size' [-Wunused-variable] ../drivers/staging/lustre/lustre/llite/llite_lib.c:908:12: warning: unused variable 'instlen' [-Wunused-variable] ../drivers/staging/lustre/lustre/obdclass/cl_page.c:251:6: warning: unused variable 'pagesize' [-Wunused-variable] ../drivers/staging/lustre/lustre/obdclass/acl.c:123:6: warning: unused variable 'old_size' [-Wunused-variable] ../drivers/usb/renesas_usbhs/common.c:492:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
Section Mismatches: WARNING: drivers/staging/fsl-mc/bus/mc-bus-driver.o(.init.text+0x18c): Section mismatch in reference from the function init_module() to the function .exit.text:dprc_driver_exit()
------------------------------------------------------------------------------- arm-multi_v7_defconfig : PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings: ../net/bluetooth/mgmt.c:6463:8: warning: 'r192' may be used uninitialized in this function [-Wmaybe-uninitialized] ../net/bluetooth/mgmt.c:6463:8: warning: 'h192' may be used uninitialized in this function [-Wmaybe-uninitialized] ../drivers/gpu/drm/drm_crtc.c:4324:13: warning: 'drm_property_unreference_blob_locked' defined but not used [-Wunused-function]
------------------------------------------------------------------------------- arm-allmodconfig : FAIL, 1 errors, 20 warnings, 0 section mismatches
Errors: ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Warnings: ../arch/arm/mach-cns3xxx/pcie.c:266:1: warning: the frame size of 1088 bytes is larger than 1024 bytes [-Wframe-larger-than=] ../crypto/wp512.c:987:1: warning: the frame size of 1112 bytes is larger than 1024 bytes [-Wframe-larger-than=] ../sound/atmel/ac97c.c:919:29: warning: unused variable 'match' [-Wunused-variable] ../kernel/acct.c:174:2: warning: value computed is not used [-Wunused-value] ../drivers/block/nvme-core.c:1794:29: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../drivers/block/nvme-core.c:1822:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ../drivers/gpu/drm/nouveau/nvkm/engine/gr/ctxgm204.c:975:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=] ../drivers/gpu/drm/drm_crtc.c:4324:13: warning: 'drm_property_unreference_blob_locked' defined but not used [-Wunused-function] ../drivers/infiniband/hw/cxgb4/mem.c:147:20: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] ../drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=] ../include/trace/ftrace.h:28:0: warning: "TRACE_SYSTEM_STRING" redefined [enabled by default] ../drivers/media/platform/coda/./trace.h:12:0: warning: "TRACE_SYSTEM_STRING" redefined [enabled by default] ../drivers/rtc/rtc-armada38x.c:67:34: warning: unused variable 'flags' [-Wunused-variable] ../drivers/rtc/rtc-armada38x.c:91:22: warning: unused variable 'flags' [-Wunused-variable] ../drivers/scsi/ips.c:210:2: warning: #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" [-Wcpp] ../drivers/scsi/scsi_debug.c:2376:8: warning: assignment from incompatible pointer type [enabled by default] ../drivers/staging/lustre/lustre/llite/file.c:3242:17: warning: unused variable 'size' [-Wunused-variable] ../drivers/staging/lustre/lustre/llite/llite_lib.c:908:12: warning: unused variable 'instlen' [-Wunused-variable] ../drivers/staging/lustre/lustre/obdclass/cl_page.c:251:6: warning: unused variable 'pagesize' [-Wunused-variable] ../drivers/staging/lustre/lustre/obdclass/acl.c:123:6: warning: unused variable 'old_size' [-Wunused-variable]
------------------------------------------------------------------------------- x86_64-defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings: ../drivers/gpu/drm/drm_crtc.c:4324:13: warning: 'drm_property_unreference_blob_locked' defined but not used [-Wunused-function] -------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
x86_64-allnoconfig arm64-allnoconfig arm-allnoconfig arm-multi_v5_defconfig arm64-defconfig
On Wed, May 13, 2015 at 12:34:48PM +0100, Build bot for Mark Brown wrote:
arm64-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
arm-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Today's -next fails to build both arm and arm64 allmodconfig due to the above errors, introduced in commit ffa415245b8666c44d (bus: arm-ccn: cpumask attribute). Judging from the name of the symbol it appears that the code is peering into hrtimer implementation details and indeed it was removed in commit 58f1f803f1d6ef9 (hrtimer: Get rid of __hrtimer_start_range_ns()) which has a commit message suggsting that this has indeed been explicitly removed and no new references should be added.
On Wed, 2015-05-13 at 15:51 +0100, Mark Brown wrote:
On Wed, May 13, 2015 at 12:34:48PM +0100, Build bot for Mark Brown wrote:
arm64-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
arm-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Today's -next fails to build both arm and arm64 allmodconfig due to the above errors, introduced in commit ffa415245b8666c44d (bus: arm-ccn: cpumask attribute). Judging from the name of the symbol it appears that the code is peering into hrtimer implementation details and indeed it was removed in commit 58f1f803f1d6ef9 (hrtimer: Get rid of __hrtimer_start_range_ns()) which has a commit message suggsting that this has indeed been explicitly removed and no new references should be added.
Right, the fix will be equivalent to 576b0704c9def6d54b3ae9e13b0b7567c713f568 "x86: perf: uncore: Use hrtimer_start()"
http://marc.info/?l=linux-kernel&m=142904610220085
Will post it in a second, but not sure who should take it? The arm-soc guys, as an additional ccn patch, or Thomas as part of his series?
Thanks for pointing this out!
Pawel
On Wed, 13 May 2015, Pawel Moll wrote:
On Wed, 2015-05-13 at 15:51 +0100, Mark Brown wrote:
On Wed, May 13, 2015 at 12:34:48PM +0100, Build bot for Mark Brown wrote:
arm64-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
arm-allmodconfig ../drivers/bus/arm-ccn.c:924:3: error: implicit declaration of function '__hrtimer_start_range_ns' [-Werror=implicit-function-declaration]
Today's -next fails to build both arm and arm64 allmodconfig due to the above errors, introduced in commit ffa415245b8666c44d (bus: arm-ccn: cpumask attribute). Judging from the name of the symbol it appears that the code is peering into hrtimer implementation details and indeed it was removed in commit 58f1f803f1d6ef9 (hrtimer: Get rid of __hrtimer_start_range_ns()) which has a commit message suggsting that this has indeed been explicitly removed and no new references should be added.
Right, the fix will be equivalent to 576b0704c9def6d54b3ae9e13b0b7567c713f568 "x86: perf: uncore: Use hrtimer_start()"
http://marc.info/?l=linux-kernel&m=142904610220085
Will post it in a second, but not sure who should take it? The arm-soc guys, as an additional ccn patch, or Thomas as part of his series?
Route it through the same tree as the commit which introduces the __hrtimer_start_range_ns usage
Thanks,
tglx
hrtimer_start() does not longer defer already expired timers to the softirq. Get rid of the __hrtimer_start_range_ns() invocation.
Reported-by: Mark Brown mark.brown@arm.com Signed-off-by: Pawel Moll pawel.moll@arm.com ---
Arnd, Olof, Kevin,
This patch solves the linux-next build issue reported by Mark Brown:
http://article.gmane.org/gmane.linux.kernel.next/35377
and is an equivalent of the following change:
http://marc.info/?l=linux-kernel&m=142904610220085
Could you, please, queue it?
Thanks!
drivers/bus/arm-ccn.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index df5f307..7d9879e 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags) * attribute). */ if (!ccn->irq) - __hrtimer_start_range_ns(&ccn->dt.hrtimer, - arm_ccn_pmu_timer_period(), 0, - HRTIMER_MODE_REL_PINNED, 0); + hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(), + HRTIMER_MODE_REL_PINNED);
/* Set the DT bus input, engaging the counter */ arm_ccn_pmu_xp_dt_config(event, 1);
On Wednesday 13 May 2015 16:21:24 Pawel Moll wrote:
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index df5f307..7d9879e 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags) * attribute). */ if (!ccn->irq)
__hrtimer_start_range_ns(&ccn->dt.hrtimer,
arm_ccn_pmu_timer_period(), 0,
HRTIMER_MODE_REL_PINNED, 0);
hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(),
HRTIMER_MODE_REL_PINNED);
/* Set the DT bus input, engaging the counter */ arm_ccn_pmu_xp_dt_config(event, 1);
Is this correct by itself, or do we need to pull in the branch that contains c6eb3f70d44828 ("hrtimer: Get rid of hrtimer softirq") from Thomas? The other similar patches that Thomas did contain a comment about the conversion being safe after hrtimer_start() no longer uses a softirq, but it is still in use in 4.1-rc3.
Arnd
On Wed, 2015-05-13 at 16:32 +0100, Arnd Bergmann wrote:
On Wednesday 13 May 2015 16:21:24 Pawel Moll wrote:
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index df5f307..7d9879e 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags) * attribute). */ if (!ccn->irq)
__hrtimer_start_range_ns(&ccn->dt.hrtimer,
arm_ccn_pmu_timer_period(), 0,
HRTIMER_MODE_REL_PINNED, 0);
hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(),
HRTIMER_MODE_REL_PINNED);
/* Set the DT bus input, engaging the counter */ arm_ccn_pmu_xp_dt_config(event, 1);
Is this correct by itself, or do we need to pull in the branch that contains c6eb3f70d44828 ("hrtimer: Get rid of hrtimer softirq") from Thomas? The other similar patches that Thomas did contain a comment about the conversion being safe after hrtimer_start() no longer uses a softirq, but it is still in use in 4.1-rc3.
That's why I asked who should carry this patch ;-)
Now, the answer to your question is: the result will not be worse than the what was there before you pulled my updates, as the code was using normal hrtimer_start(). It's just when I realised that it should be pinned I looked at what x86 uncore pmu is doing and shamelessly (and probably a bit mindlessly) copied the "do not wakeup" version from there.
Pawel
On Wednesday 13 May 2015 16:47:07 Pawel Moll wrote:
On Wed, 2015-05-13 at 16:32 +0100, Arnd Bergmann wrote:
On Wednesday 13 May 2015 16:21:24 Pawel Moll wrote:
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index df5f307..7d9879e 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags) * attribute). */ if (!ccn->irq)
__hrtimer_start_range_ns(&ccn->dt.hrtimer,
arm_ccn_pmu_timer_period(), 0,
HRTIMER_MODE_REL_PINNED, 0);
hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(),
HRTIMER_MODE_REL_PINNED);
/* Set the DT bus input, engaging the counter */ arm_ccn_pmu_xp_dt_config(event, 1);
Is this correct by itself, or do we need to pull in the branch that contains c6eb3f70d44828 ("hrtimer: Get rid of hrtimer softirq") from Thomas? The other similar patches that Thomas did contain a comment about the conversion being safe after hrtimer_start() no longer uses a softirq, but it is still in use in 4.1-rc3.
That's why I asked who should carry this patch
Now, the answer to your question is: the result will not be worse than the what was there before you pulled my updates, as the code was using normal hrtimer_start(). It's just when I realised that it should be pinned I looked at what x86 uncore pmu is doing and shamelessly (and probably a bit mindlessly) copied the "do not wakeup" version from there.
Ok, got it. I've rewritten the commit message now to reflect this, and have applied your patch on top of the next/drivers branch.
Thanks a lot for the fast roundtrip in fixing it. Hopefully, tomorrow's linux-next works better now.
Arnd
commit a78a3c8ef715b94de3ab27633866d4bde3e2226f Author: Pawel Moll pawel.moll@arm.com Date: Wed May 13 16:21:24 2015 +0100
bus: arm-ccn: Use hrtimer_start() again
hrtimer_start() will no longer defer already expired timers to the softirq in 4.2, and the __hrtimer_start_range_ns() function is getting removed, causing build errors when both the tip tree and the arm-ccn changes are merged.
This changes the code back to using hrtimer_start, which will do the right thing after this branch gets merged with the timers update from tip.
As pointed out after a discussion on the mailing list, the result will not be worse than the what was there before you pulled my updates, as the code was using normal hrtimer_start(). It's just when I realised that it should be pinned I looked at what x86 uncore pmu is doing and shamelessly (and probably a bit mindlessly) copied the "do not wakeup" version from there.
Reported-by: Mark Brown mark.brown@arm.com Signed-off-by: Pawel Moll pawel.moll@arm.com Signed-off-by: Arnd Bergmann arnd@arndb.de
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c index df5f307f3244..7d9879e166cf 100644 --- a/drivers/bus/arm-ccn.c +++ b/drivers/bus/arm-ccn.c @@ -921,9 +921,8 @@ static void arm_ccn_pmu_event_start(struct perf_event *event, int flags) * attribute). */ if (!ccn->irq) - __hrtimer_start_range_ns(&ccn->dt.hrtimer, - arm_ccn_pmu_timer_period(), 0, - HRTIMER_MODE_REL_PINNED, 0); + hrtimer_start(&ccn->dt.hrtimer, arm_ccn_pmu_timer_period(), + HRTIMER_MODE_REL_PINNED);
/* Set the DT bus input, engaging the counter */ arm_ccn_pmu_xp_dt_config(event, 1);
linaro-kernel@lists.linaro.org