[drm] bea5b158ff BUG: unable to handle kernel NULL pointer dereference at 0000000000000748
Greetings, FYI, this debug patch triggers BUG in DRM subsystem. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit bea5b158ff0da9c7246ff391f754f5f38e34577a Author: Rob Herring AuthorDate: Thu Aug 11 10:20:58 2016 -0500 Commit: Greg Kroah-Hartman CommitDate: Wed Aug 31 15:13:55 2016 +0200 driver core: add test of driver remove calls during probe In recent discussions on ksummit-discuss[1], it was suggested to do a sequence of probe, remove, probe for testing driver remove paths. This adds a kconfig option for said test. [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html Suggested-by: Arnd Bergmann Cc: Greg Kroah-Hartman Signed-off-by: Rob Herring Signed-off-by: Greg Kroah-Hartman +--++++ | | cebf8fd169 | bea5b158ff | b1ac883759 | +--++++ | boot_successes | 62 | 0 | 0 | | boot_failures| 0 | 22 | 25 | | BUG:unable_to_handle_kernel | 0 | 22 | 25 | | Oops:#[##] | 0 | 22 | 25 | | RIP:__lock_acquire | 0 | 22 | | | calltrace:bochs_init | 0 | 22 | | | Kernel_panic-not_syncing:Fatal_exception | 0 | 22 | 25 | +--++++ [ 11.709231] [TTM] Initializing pool allocator [ 11.710232] [TTM] Initializing DMA pool allocator [ 11.711503] [drm] Initialized bochs-drm 1.0.0 20130925 for :00:02.0 on minor 1 [ 11.713363] BUG: unable to handle kernel NULL pointer dereference at 0748 [ 11.715123] IP: [] __lock_acquire+0x93/0x9a0 [ 11.716586] PGD 0 [ 11.717058] Oops: [#1] [ 11.717665] CPU: 0 PID: 1 Comm: swapper Not tainted 4.8.0-rc4-3-gbea5b15 #1 [ 11.719302] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014 [ 11.721518] task: 88001d468000 task.stack: 88001d47 [ 11.722839] RIP: 0010:[] [] __lock_acquire+0x93/0x9a0 [ 11.724845] RSP: :88001d473b60 EFLAGS: 00010097 [ 11.726009] RAX: RBX: 0246 RCX: [ 11.727563] RDX: RSI: RDI: [ 11.729170] RBP: 88001d473b90 R08: R09: [ 11.730717] R10: 0001 R11: R12: [ 11.732328] R13: R14: 0740 R15: 88001d468000 [ 11.733869] FS: () GS:8202f000() knlGS: [ 11.735624] CS: 0010 DS: ES: CR0: 80050033 [ 11.736923] CR2: 0748 CR3: 0200c000 CR4: 06b0 [ 11.738498] Stack: [ 11.738970] 88001d473c08 0246 88001d468000 880018bb3668 [ 11.740679] 82267208 06d0 88001d473bc8 810e4a98 [ 11.742424] 813a2a60 88001d468000 [ 11.744238] Call Trace: [ 11.744830] [] lock_acquire+0x68/0x90 [ 11.746051] [] ? drm_mode_object_unregister+0x20/0x50 [ 11.747511] [] mutex_lock_nested+0x6a/0x300 [ 11.748820] [] ? drm_mode_object_unregister+0x20/0x50 [ 11.750276] [] ? drm_mode_object_unregister+0x20/0x50 [ 11.751795] [] ? srcu_barrier+0xe/0x10 [ 11.753061] [] drm_mode_object_unregister+0x20/0x50 [ 11.754555] [] drm_framebuffer_unregister_private+0x15/0x20 [ 11.756244] [] bochs_fbdev_fini+0x5a/0x70 [ 11.757528] [] bochs_unload+0x16/0x50 [ 11.758755] [] drm_dev_unregister+0x3a/0xc0 [ 11.760100] [] drm_put_dev+0x3f/0x50 [ 11.761260] [] bochs_pci_remove+0x10/0x20 [ 11.762557] [] pci_device_remove+0x46/0xb0 [ 11.763909] [] driver_probe_device+0x150/0x300 [ 11.765290] [] __driver_attach+0x6d/0x90 [ 11.766551] [] ? driver_probe_device+0x300/0x300 [ 11.767952] [] bus_for_each_dev+0x54/0x90 [ 11.769194] [] driver_attach+0x19/0x20 [ 11.770414] [] bus_add_driver+0xe6/0x200 [ 11.771730] [] driver_register+0x83/0xc0 [ 11.773043] [] __pci_register_driver+0x5b/0x60 [ 11.774427] [] ? nouveau_drm_init+0x1cf/0x1cf [ 11.775757] [] drm_pci_init+0x4c/0xf0 [ 11.776940] [] ? drm_dev_register+0xb8/0xd0 [ 11.778203] [] ? nouveau_drm_init+0x1cf/0x1cf [ 11.779537] [] ? do_early_param+0x8f/0x8f [ 11.780849] [] bochs_init+0x17/0x19 [ 11.781978] [] do_one_initcall+0x89/0x11a [ 11.783233] [] ? do_early_param+0x8f/0x8f [ 11.784497] [] kernel_init_freeable+0x17f/0x215 [ 11.785866]
Re: [kbuild-all] [RFC PATCH drm-intel] drm: arcpgu: arc_pgu_crtc_mode_valid() can be static
Hi Daniel, On Fri, Jun 23, 2017 at 12:30:17PM +0200, Daniel Vetter wrote: On Fri, Jun 23, 2017 at 05:54:18PM +0800, kbuild test robot wrote: Signed-off-by: Fengguang Wu Oops, missed that, applied. Btw, for regression fixes like that, could you perhaps auto-generate the Fixes: line per the kernel process? Makes it easier for me to know where to apply something :-) That's a good idea for commits in mainline, where the Fixes tag will look like Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()") However typically 0day auto-generated patches are pre-mainline ones, in which case only patch subject is available. How are we going to deal with this? Thanks, Fengguang --- arcpgu_crtc.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c index 99fbdae..611af74 100644 --- a/drivers/gpu/drm/arc/arcpgu_crtc.c +++ b/drivers/gpu/drm/arc/arcpgu_crtc.c @@ -64,8 +64,8 @@ static const struct drm_crtc_funcs arc_pgu_crtc_funcs = { .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, }; -enum drm_mode_status arc_pgu_crtc_mode_valid(struct drm_crtc *crtc, -const struct drm_display_mode *mode) +static enum drm_mode_status arc_pgu_crtc_mode_valid(struct drm_crtc *crtc, + const struct drm_display_mode *mode) { struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc); long rate, clk_rate = mode->clock * 1000; -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ kbuild-all mailing list kbuild-...@lists.01.org https://lists.01.org/mailman/listinfo/kbuild-all ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [kbuild-all] [RFC PATCH drm-intel] drm: arcpgu: arc_pgu_crtc_mode_valid() can be static
On Fri, Jun 23, 2017 at 01:08:17PM +0200, Daniel Vetter wrote: On Fri, Jun 23, 2017 at 06:51:05PM +0800, Fengguang Wu wrote: Hi Daniel, On Fri, Jun 23, 2017 at 12:30:17PM +0200, Daniel Vetter wrote: > On Fri, Jun 23, 2017 at 05:54:18PM +0800, kbuild test robot wrote: > > > > Signed-off-by: Fengguang Wu > > Oops, missed that, applied. > > Btw, for regression fixes like that, could you perhaps auto-generate the > Fixes: line per the kernel process? Makes it easier for me to know where > to apply something :-) That's a good idea for commits in mainline, where the Fixes tag will look like Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()") However typically 0day auto-generated patches are pre-mainline ones, in which case only patch subject is available. How are we going to deal with this? Well many trees you're testing are stable and will never rebase (at least all the drm-intel|misc.git ones are supposed to be stable), hence the sha1 is stable. I guess other maintainers could just remove the line if they prefer to squash it in? Also makes it easier to know where to squash it into :-) Fair enough. I'll add the Fixes line. :) Thanks, Fengguang > > --- > > arcpgu_crtc.c |4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c > > index 99fbdae..611af74 100644 > > --- a/drivers/gpu/drm/arc/arcpgu_crtc.c > > +++ b/drivers/gpu/drm/arc/arcpgu_crtc.c > > @@ -64,8 +64,8 @@ static const struct drm_crtc_funcs arc_pgu_crtc_funcs = { > > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > > }; > > > > -enum drm_mode_status arc_pgu_crtc_mode_valid(struct drm_crtc *crtc, > > - const struct drm_display_mode *mode) > > +static enum drm_mode_status arc_pgu_crtc_mode_valid(struct drm_crtc *crtc, > > + const struct drm_display_mode *mode) > > { > > struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc); > > long rate, clk_rate = mode->clock * 1000; > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch > ___ > kbuild-all mailing list > kbuild-...@lists.01.org > https://lists.01.org/mailman/listinfo/kbuild-all -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ kbuild-all mailing list kbuild-...@lists.01.org https://lists.01.org/mailman/listinfo/kbuild-all ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [kbuild-all] 0day 'make htmldocs' testing (was: Re: [PATCH] drm/dp: Add missing description to parameter)
Hi Jani, On Wed, Mar 08, 2017 at 10:41:37AM +0200, Jani Nikula wrote: On Wed, 08 Mar 2017, Jani Nikula wrote: On Wed, 08 Mar 2017, Sean Paul wrote: On Tue, Mar 07, 2017 at 09:35:11PM +0100, Tomeu Vizoso wrote: Gabriel Krisman reported these warnings when building the documentation: ./drivers/gpu/drm/drm_dp_helper.c:1165: warning: No description found for parameter 'crtc' ./drivers/gpu/drm/drm_dp_helper.c:1166: warning: No description found for parameter 'crtc' I've now added htmldocs build to my pre-merge build testing so I'll hopefully catch this earlier (no promises). Dear 0day folks, what's the status of 'make htmldocs' build testing on patches posted to dri-devel and intel-gfx mailing lists? I see occasional mails reporting issues in documentation, but sometimes there are no reports. And while I'm reaching out, have we ensured testing of the new repos and branches we have? There's the drm-misc and drm-tip repos. drm-tip is an integration tree, and other repos and branches feed to it. If you don't have anything such, we should probably discuss whether it's best to test the individual trees, or the integration tree, or both. Okay, I see that you've sent reports about drm-tip, but there's nothing on the drm-misc branches after it moved from drm-intel.git to a repo of its own. Is drm-tip enough, or should we expand on drm-misc? In 0day testing POV, we'd like to cover all tree/branches as well as mailing lists. The extra costs are not a big deal to us. If we missed some coverage, it may be we are not aware of the tree or mailing list, or something abnormal happened (eg. bugs in the robot or failed to fetch new code, etc.). If you think some tree/branch or mailing list should be tested, just tell us the URL etc. If that's already in our coverage, it may help to tell us the exact patch/commit that has problem, so that we can try to find the root cause. Thanks, Fengguang ___ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm] INFO: possible recursive locking detected
On Mon, Jun 02, 2014 at 11:04:35AM +0300, Jani Nikula wrote: > On Fri, 30 May 2014, Jet Chen wrote: > > Hi Jesse, > > > > 0day kernel testing robot got the below dmesg and the first bad commit is > > > > git://people.freedesktop.org/~jbarnes/linux async-fb-probe > > Do I understand correctly that this is only present in one of Jesse's > personal branches? The distribution seems quite out of proportion... Yes, it only happens in Jesse's async-fb-probe branch. Sorry for CC more mailing lists than necessary! Thanks, Fengguang
[robclark:drm-next 14/15] WARNING: debugfs_remove(NULL) is safe this check is probably not required
Hi Rob, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~robclark/linux drm-next head: 865ff8a71f4227222fec89ebb1743b4ca9f24ab1 commit: b91c7b5f2efe902c846e315ea7d219f37ba17ef5 [14/15] WIP: drm/msm: add rd logging debugfs scripts/checkpatch.pl 0001-WIP-drm-msm-add-rd-logging-debugfs.patch WARNING: min() should probably be min_t(int, sz, circ_count_to_end(&rd->fifo)) #270: drivers/gpu/drm/msm/msm_rd.c:142: + n = min((int)sz, circ_count_to_end(&rd->fifo)); ERROR: do not use C99 // comments #299: drivers/gpu/drm/msm/msm_rd.c:171: +priv->rd = rd; // XXX this isn't really good.. ERROR: do not use C99 // comments #352: drivers/gpu/drm/msm/msm_rd.c:224: +// priv->rd = rd; WARNING: debugfs_remove(NULL) is safe this check is probably not required #389: drivers/gpu/drm/msm/msm_rd.c:261: + if (rd->ent) + debugfs_remove(rd->ent); ERROR: do not use C99 // comments #412: drivers/gpu/drm/msm/msm_rd.c:284: +if (!rd) return; // XXX --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation >From b91c7b5f2efe902c846e315ea7d219f37ba17ef5 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 25 Jul 2013 12:07:04 -0400 Subject: [PATCH] WIP: drm/msm: add rd logging debugfs To ease debugging, add debugfs file which can be cat/tail'd to log submits, along with fence #. If GPU hangs, you can look at 'gpu' debugfs file to find last completed fence and current register state, and compare with logged rd file to narrow down the DRAW_INDX which triggered the GPU hang. --- drivers/gpu/drm/msm/Makefile |1 + drivers/gpu/drm/msm/msm_drv.c|3 +- drivers/gpu/drm/msm/msm_drv.h|9 + drivers/gpu/drm/msm/msm_gem.h|1 + drivers/gpu/drm/msm/msm_gem_submit.c |1 + drivers/gpu/drm/msm/msm_gpu.c|2 + drivers/gpu/drm/msm/msm_rd.c | 334 ++ 7 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/msm/msm_rd.c diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index c3a5134..f945179 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -23,6 +23,7 @@ msm-y := \ msm_gem.o \ msm_gem_submit.o \ msm_gpu.o \ + msm_rd.o \ msm_ringbuffer.o msm-$(CONFIG_DRM_MSM_FBDEV) += msm_fbdev.o diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 355157d..adcc68b 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -459,11 +459,12 @@ static int msm_debugfs_init(struct drm_minor *minor) return ret; } - return ret; + return msm_rd_debugfs_init(minor); } static void msm_debugfs_cleanup(struct drm_minor *minor) { + msm_rd_debugfs_cleanup(minor); drm_debugfs_remove_files(msm_debugfs_list, ARRAY_SIZE(msm_debugfs_list), minor); } diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index a7426f1..ea6f1c7 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -44,6 +44,8 @@ struct msm_kms; struct msm_gpu; +struct msm_rd_state; +struct msm_gem_submit; #define NUM_DOMAINS 2/* one for KMS, then one per gpu core (?) */ @@ -68,6 +70,8 @@ struct msm_drm_private { uint32_t next_fence, completed_fence; wait_queue_head_t fence_event; + struct msm_rd_state *rd; + /* list of GEM objects: */ struct list_head inactive_list; @@ -179,6 +183,11 @@ void __exit hdmi_unregister(void); void msm_gem_describe(struct drm_gem_object *obj, struct seq_file *m); void msm_gem_describe_objects(struct list_head *list, struct seq_file *m); void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m); +int msm_rd_debugfs_init(struct drm_minor *minor); +void msm_rd_debugfs_cleanup(struct drm_minor *minor); +void msm_rd_dump_submit(struct msm_gem_submit *submit); +#else +static inline void msm_rd_dump_submit(struct msm_gem_submit *submit) {} #endif void __iomem *msm_ioremap(struct device *dev, resource_size_t offset, diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index d746f13..a5dbc5c 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -88,6 +88,7 @@ struct msm_gem_submit { uint32_t type; uint32_t size; /* in dwords */ uint32_t iova; + uint32_t idx; /* cmdstream buffer idx in bos[] */ } cmd[MAX_CMDS]; struct { uint32_t flags; diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index f62904f..d18e677 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -389,6 +389,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
[robclark:drm-next 15/15] WARNING: debugfs_remove(NULL) is safe this check is probably not required
Hi Rob, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~robclark/linux drm-next head: 72b17e21c5965bd0da5e56d96a4776e508cbd79e commit: 72b17e21c5965bd0da5e56d96a4776e508cbd79e [15/15] WIP: drm/msm: add perf logging debugfs scripts/checkpatch.pl 0001-WIP-drm-msm-add-perf-logging-debugfs.patch ERROR: do not use C99 // comments #565: drivers/gpu/drm/msm/msm_perf.c:170: +priv->perf = perf; // XXX this isn't really good.. ERROR: do not use C99 // comments #616: drivers/gpu/drm/msm/msm_perf.c:221: +// priv->perf = perf; WARNING: debugfs_remove(NULL) is safe this check is probably not required #651: drivers/gpu/drm/msm/msm_perf.c:256: + if (perf->ent) + debugfs_remove(perf->ent); --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation >From 72b17e21c5965bd0da5e56d96a4776e508cbd79e Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sat, 3 Aug 2013 12:43:25 -0400 Subject: [PATCH] WIP: drm/msm: add perf logging debugfs --- drivers/gpu/drm/msm/Makefile|1 + drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 20 ++- drivers/gpu/drm/msm/adreno/adreno_gpu.c |4 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h |2 - drivers/gpu/drm/msm/msm_drv.c | 15 +- drivers/gpu/drm/msm/msm_drv.h |4 + drivers/gpu/drm/msm/msm_gpu.c | 110 + drivers/gpu/drm/msm/msm_gpu.h | 33 drivers/gpu/drm/msm/msm_perf.c | 270 +++ 9 files changed, 448 insertions(+), 11 deletions(-) create mode 100644 drivers/gpu/drm/msm/msm_perf.c diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index f945179..a19c731 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -23,6 +23,7 @@ msm-y := \ msm_gem.o \ msm_gem_submit.o \ msm_gpu.o \ + msm_perf.o \ msm_rd.o \ msm_ringbuffer.o diff --git a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c index 13d61bb..2e2950f 100644 --- a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c @@ -174,11 +174,11 @@ static int a3xx_hw_init(struct msm_gpu *gpu) /* Turn on performance counters: */ gpu_write(gpu, REG_A3XX_RBBM_PERFCTR_CTL, 0x01); - /* Set SP perfcounter 7 to count SP_FS_FULL_ALU_INSTRUCTIONS -* we will use this to augment our hang detection: -*/ - gpu_write(gpu, REG_A3XX_SP_PERFCOUNTER7_SELECT, - SP_FS_FULL_ALU_INSTRUCTIONS); + /* Enable the perfcntrs that we use.. */ + for (i = 0; i < gpu->num_perfcntrs; i++) { + const struct msm_gpu_perfcntr *perfcntr = &gpu->perfcntrs[i]; + gpu_write(gpu, perfcntr->select_reg, perfcntr->select_val); + } gpu_write(gpu, REG_A3XX_RBBM_INT_0_MASK, A3XX_INT0_MASK); @@ -383,6 +383,13 @@ static const struct adreno_gpu_funcs funcs = { }, }; +static const struct msm_gpu_perfcntr perfcntrs[] = { + { REG_A3XX_SP_PERFCOUNTER6_SELECT, REG_A3XX_RBBM_PERFCTR_SP_6_LO, + SP_ALU_ACTIVE_CYCLES, "ALUACTIVE" }, + { REG_A3XX_SP_PERFCOUNTER7_SELECT, REG_A3XX_RBBM_PERFCTR_SP_7_LO, + SP_FS_FULL_ALU_INSTRUCTIONS, "ALUFULL" }, +}; + struct msm_gpu *a3xx_gpu_init(struct drm_device *dev) { struct a3xx_gpu *a3xx_gpu = NULL; @@ -417,6 +424,9 @@ struct msm_gpu *a3xx_gpu_init(struct drm_device *dev) DBG("fast_rate=%u, slow_rate=%u, bus_freq=%u", gpu->fast_rate, gpu->slow_rate, gpu->bus_freq); + gpu->perfcntrs = perfcntrs; + gpu->num_perfcntrs = ARRAY_SIZE(perfcntrs); + ret = adreno_gpu_init(dev, pdev, &a3xx_gpu->base, &funcs, config->rev); if (ret) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 282163e..39a65af 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -119,8 +119,6 @@ int adreno_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, struct msm_ringbuffer *ring = gpu->rb; unsigned i, ibs = 0; - adreno_gpu->last_fence = submit->fence; - for (i = 0; i < submit->nr_cmds; i++) { switch (submit->cmd[i].type) { case MSM_SUBMIT_CMD_IB_TARGET_BUF: @@ -225,7 +223,7 @@ void adreno_show(struct msm_gpu *gpu, struct seq_file *m) adreno_gpu->rev.patchid); seq_printf(m, "fence:%d/%d\n", adreno_gpu->memptrs->fence, - adreno_gpu->last_fence); + gpu->submitted_fence); seq_printf(m, "rptr: %d\n", adreno_gpu->memptrs->rptr); seq_printf(m, "wptr: %d\n", adreno_gpu->memptrs->wptr); seq_printf(m, "rb wptr: %d\n", get_wptr(gp
[radeon-alex:drm-next-3.12-wip 31/90] WARNING: kfree(NULL) is safe this check is probably not required
Hi Alex, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~agd5f/linux.git drm-next-3.12-wip head: 21419df38d4ba010b1ea80e2f91b853c8c3de7e5 commit: 38306848032ac045ac5a5f3145271bc01176883e [31/90] drm/radeon/dpm: add support for parsing the atom powertune table scripts/checkpatch.pl 0001-drm-radeon-dpm-add-support-for-parsing-the-atom-powe.patch WARNING: kfree(NULL) is safe this check is probably not required #73: drivers/gpu/drm/radeon/r600_dpm.c:1079: + if (rdev->pm.dpm.dyn_state.cac_tdp_table) + kfree(rdev->pm.dpm.dyn_state.cac_tdp_table); The warning also shows up in many of the follow up patches. [radeon-alex:drm-next-3.12-wip 32/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 35/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 36/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 38/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 39/90] WARNING: kfree(NULL) is safe --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[kbuild-all] [Intel-gfx] [PATCH] drm: Convert all helpers to drm_connector_list_iter
Hi Daniel, On Fri, Dec 16, 2016 at 08:29:43AM +0100, Daniel Vetter wrote: >Hi Kbuild folks > >So yeah this doesn't apply because it's just 1 patch resent out of a >big patch series, in-reply-to the patch it replaces. So applying this >alone and telling me (and all the mailing lists) that it doesn't apply >isn't all that useful. > >And it shouldn't be too hard to detect this, since the fdo patchwork >instance does catch most of these partial resends successfully and >correctly, and will retest the entire patch series. Good point! CC Xiaolong. This scenario seems happen frequent enough in LKML to worth the efforts to add auto detect logic for. Thanks, Fengguang >On Thu, Dec 15, 2016 at 11:59 PM, kbuild test robot wrote: >> Hi Daniel, >> >> [auto build test ERROR on drm/drm-next] >> [also build test ERROR on next-20161215] >> [cannot apply to v4.9] >> [if your patch is applied to the wrong git tree, please drop us a note to >> help improve the system] >> >> url: >> https://github.com/0day-ci/linux/commits/Daniel-Vetter/drm-Convert-all-helpers-to-drm_connector_list_iter/20161216-061508 >> base: git://people.freedesktop.org/~airlied/linux.git drm-next >> config: i386-randconfig-x003-201650 (attached as .config) >> compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 >> reproduce: >> # save the attached .config to linux build tree >> make ARCH=i386 >> >> All error/warnings (new ones prefixed by >>): >> >>drivers/gpu/drm/drm_crtc_helper.c: In function >> 'drm_helper_encoder_in_use': drivers/gpu/drm/drm_crtc_helper.c:91:33: error: storage size of 'conn_iter' isn't known >> struct drm_connector_list_iter conn_iter; >> ^ drivers/gpu/drm/drm_crtc_helper.c:104:2: error: implicit declaration of function 'drm_connector_list_iter_get' [-Werror=implicit-function-declaration] >> drm_connector_list_iter_get(dev, &conn_iter); >> ^~~ drivers/gpu/drm/drm_crtc_helper.c:105:2: error: implicit declaration of function 'drm_for_each_connector_iter' [-Werror=implicit-function-declaration] >> drm_for_each_connector_iter(connector, &conn_iter) { >> ^~~ drivers/gpu/drm/drm_crtc_helper.c:105:53: error: expected ';' before '{' token >> drm_for_each_connector_iter(connector, &conn_iter) { >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:91:33: warning: unused variable >> 'conn_iter' [-Wunused-variable] >> struct drm_connector_list_iter conn_iter; >> ^ >>drivers/gpu/drm/drm_crtc_helper.c: In function 'drm_crtc_helper_disable': >>drivers/gpu/drm/drm_crtc_helper.c:446:34: error: storage size of >> 'conn_iter' isn't known >> struct drm_connector_list_iter conn_iter; >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:452:54: error: expected ';' before '{' >> token >> drm_for_each_connector_iter(connector, &conn_iter) { >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:446:34: warning: unused variable >> 'conn_iter' [-Wunused-variable] >> struct drm_connector_list_iter conn_iter; >> ^ >>drivers/gpu/drm/drm_crtc_helper.c: In function >> 'drm_crtc_helper_set_config': >>drivers/gpu/drm/drm_crtc_helper.c:521:33: error: storage size of >> 'conn_iter' isn't known >> struct drm_connector_list_iter conn_iter; >> ^ drivers/gpu/drm/drm_crtc_helper.c:588:3: error: expected ';' before 'save_connector_encoders' >> save_connector_encoders[count++] = connector->encoder; >> ^~~ drivers/gpu/drm/drm_crtc_helper.c:589:2: error: implicit declaration of function 'drm_connector_list_iter_put' [-Werror=implicit-function-declaration] >> drm_connector_list_iter_put(&conn_iter); >> ^~~ >>drivers/gpu/drm/drm_crtc_helper.c:633:53: error: expected ';' before '{' >> token >> drm_for_each_connector_iter(connector, &conn_iter) { >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:675:53: error: expected ';' before '{' >> token >> drm_for_each_connector_iter(connector, &conn_iter) { >> ^ drivers/gpu/drm/drm_crtc_helper.c:767:3: error: expected ';' before 'connector' >> connector->encoder = save_connector_encoders[count++]; >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:521:33: warning: unused variable >> 'conn_iter' [-Wunused-variable] >> struct drm_connector_list_iter conn_iter; >> ^ >>drivers/gpu/drm/drm_crtc_helper.c:517:49: warning: unused variable >> 'new_e
[PATCH] drm/cma: Fix compile fail due to fomat->format typo
Hi Ville, >Fengguang, assuming 0day has bandwidth for it adding my repo [1] to your >list might be nice. I tend to push most non-trivial patch series there >when I post the patches. > >[1] git://github.com/vsyrjala/linux.git Sure, bandwidth will never be a limitation. I just added your tree to the test pool. And sorry for the delay! Thanks, Fengguang
[drm] bea5b158ff BUG: unable to handle kernel NULL pointer dereference at 00000000000003a8
Greetings, This test patch seems to expose a DRM bug which is still not fixed in linux-next. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit bea5b158ff0da9c7246ff391f754f5f38e34577a Author: Rob Herring AuthorDate: Thu Aug 11 10:20:58 2016 -0500 Commit: Greg Kroah-Hartman CommitDate: Wed Aug 31 15:13:55 2016 +0200 driver core: add test of driver remove calls during probe In recent discussions on ksummit-discuss[1], it was suggested to do a sequence of probe, remove, probe for testing driver remove paths. This adds a kconfig option for said test. [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html Suggested-by: Arnd Bergmann Cc: Greg Kroah-Hartman Signed-off-by: Rob Herring Signed-off-by: Greg Kroah-Hartman +-++++ | | cebf8fd169 | bea5b158ff | 7dd914d7b0 | +-++++ | boot_successes | 63 | 0 | 0 | | boot_failures | 25 | 22 | 17 | | BUG:kernel_reboot-without-warning_in_test_stage | 25 || | | BUG:unable_to_handle_kernel | 0 | 22 | 17 | | Oops| 0 | 22 | 17 | | RIP:__mutex_lock_slowpath | 0 | 22 | 17 | | calltrace:bochs_init| 0 | 22 | 17 | | Kernel_panic-not_syncing:Fatal_exception| 0 | 22 | 17 | +-++++ [7.133544] [TTM] Initializing pool allocator [7.134199] [TTM] Initializing DMA pool allocator [7.135176] [drm] Initialized bochs-drm 1.0.0 20130925 for :00:02.0 on minor 1 [7.136329] BUG: unable to handle kernel NULL pointer dereference at 03a8 [7.137506] IP: [] __mutex_lock_slowpath+0x83/0x2ad [7.138461] PGD 1ddaa067 PUD 1ddab067 PMD 0 [7.139144] Oops: 0002 [#1] DEBUG_PAGEALLOC [7.139750] CPU: 0 PID: 1 Comm: swapper Not tainted 4.8.0-rc4-3-gbea5b15 #1 [7.140807] task: 881dc000 task.stack: 881e [7.141657] RIP: 0010:[] [] __mutex_lock_slowpath+0x83/0x2ad [7.142951] RSP: 0018:881e3a98 EFLAGS: 00010046 [7.143713] RAX: 0246 RBX: 03a0 RCX: 82a54320 [7.157782] RDX: 8000 RSI: 0061 RDI: 03a0 [7.158815] RBP: 881e3b48 R08: 881e3b08 R09: 881e3b38 [7.159840] R10: 0001 R11: 88001d5be2d0 R12: 881dc000 [7.160868] R13: R14: R15: 881e7e01 [7.161897] FS: () GS:82a24000() knlGS: [7.163051] CS: 0010 DS: ES: CR0: 80050033 [7.163877] CR2: 03a8 CR3: 1dda8000 CR4: 000406f0 [7.164905] Stack: [7.165209] 0001 0246 82a54300 88001d5be328 [7.166349] 881e3b28 810e7379 810e6c20 [7.167488] 8800 dead4ead0001 [7.168626] Call Trace: [7.168999] [] ? __synchronize_srcu+0xcf/0xff [7.182902] [] ? rcu_barrier_tasks+0xb/0xb [7.183737] [] mutex_lock+0x2c/0x3f [7.184489] [] drm_mode_object_unregister+0x22/0x4e [7.185439] [] drm_framebuffer_unregister_private+0x15/0x17 [7.186486] [] bochs_fbdev_fini+0x5c/0x70 [7.187311] [] bochs_unload+0x16/0x46 [7.188091] [] drm_dev_unregister+0x3c/0xad [7.188942] [] drm_put_dev+0x47/0x54 [7.189698] [] bochs_pci_remove+0x10/0x12 [7.190524] [] pci_device_remove+0x38/0x9b [7.191364] [] ? _raw_spin_unlock+0x9/0x11 [7.192203] [] driver_probe_device+0x1f9/0x435 [7.193093] [] __driver_attach+0xba/0xe2 [7.193905] [] ? driver_probe_device+0x435/0x435 [7.194815] [] bus_for_each_dev+0x53/0x91 [7.195638] [] driver_attach+0x19/0x1b [7.209453] [] bus_add_driver+0x138/0x225 [7.210277] [] driver_register+0x89/0xc1 [7.211091] [] __pci_register_driver+0x63/0x6a [7.211974] [] ? drm_minor_register+0xc9/0xfe [7.212844] [] ? ast_init+0x27/0x27 [7.213582] [] drm_pci_init+0x51/0xda [7.214354] [] ? drm_dev_register+0xba/0xc6 [7.215201] [] ? ast_init+0x27/0x27 [7.215948] [] bochs_init+0x17/0x19 [7.216685] [] do_one_initcall+0x95/0x13d [7.217515] [] ? parse_args+0x24e/0x340 [7.218308] [] kernel_init_freeable+0x171/0x205 [7.219206] [] ? kernel_init_f
[drm] bea5b158ff WARNING: CPU: 1 PID: 1 at drivers/gpu/drm/drm_crtc.c:5776 drm_mode_config_cleanup
Greetings, Here is another DRM WARNING triggered by Rob's test patch. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master commit bea5b158ff0da9c7246ff391f754f5f38e34577a Author: Rob Herring AuthorDate: Thu Aug 11 10:20:58 2016 -0500 Commit: Greg Kroah-Hartman CommitDate: Wed Aug 31 15:13:55 2016 +0200 driver core: add test of driver remove calls during probe In recent discussions on ksummit-discuss[1], it was suggested to do a sequence of probe, remove, probe for testing driver remove paths. This adds a kconfig option for said test. [1] https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-August/003459.html Suggested-by: Arnd Bergmann Cc: Greg Kroah-Hartman Signed-off-by: Rob Herring Signed-off-by: Greg Kroah-Hartman +---++++ | | cebf8fd169 | bea5b158ff | 62f1cfcae8 | +---++++ | boot_successes| 63 | 0 | 0 | | boot_failures | 0 | 22 | 13 | | WARNING:at_drivers/gpu/drm/drm_crtc.c:#drm_mode_config_cleanup| 0 | 22 || | calltrace:bochs_init | 0 | 22 | 13 | | calltrace:init| 0 | 22 || | BUG:unable_to_handle_kernel | 0 | 22 | 13 | | Oops | 0 | 22 | 13 | | EIP_is_at_i2c_do_del_adapter | 0 | 17 || | calltrace:of_unittest | 0 | 17 || | Kernel_panic-not_syncing:Fatal_exception | 0 | 22 | 13 | | EIP_is_at_kobject_get | 0 | 3 || | WARNING:at_drivers/usb/core/urb.c:#usb_submit_urb | 0 | 3 || | calltrace:hub_init_func3 | 0 | 1 || | EIP_is_at_kernfs_link_sibling | 0 | 2 || | calltrace:pm_runtime_work | 0 | 1 || | calltrace:hub_init_func2 | 0 | 1 || | WARNING:at_drivers/gpu/drm/drm_mode_config.c:#drm_mode_config_cleanup | 0 | 0 | 13 | | EIP_is_at_bochs_kms_fini | 0 | 0 | 13 | +---++++ [9.942154] bochsdrmfb: enable CONFIG_FB_LITTLE_ENDIAN to support this framebuffer [9.942868] [drm] Initialized bochs-drm 1.0.0 20130925 for :00:02.0 on minor 1 [9.943620] [ cut here ] [9.944051] WARNING: CPU: 1 PID: 1 at drivers/gpu/drm/drm_crtc.c:5776 drm_mode_config_cleanup+0x1a8/0x1c0 [9.944982] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.8.0-rc4-3-gbea5b15 #1 [9.945612] 00200286 00200286 92e5fde8 9382d4e4 946e08d4 92e5fe00 93642829 [9.946316] 1690 8d4e861c 8d4e8008 8d4e84dc 92e5fe14 936428b1 0009 [9.947024] 92e5fe28 939cada8 8d4f0008 8d4e8008 94803fc0 92e5fe34 93c703ce [9.947711] Call Trace: [9.947911] [<9382d4e4>] dump_stack+0x58/0x74 [9.948287] [<93642829>] __warn+0xb9/0xd0 [9.948634] [<936428b1>] warn_slowpath_null+0x11/0x20 [9.949042] [<939cada8>] drm_mode_config_cleanup+0x1a8/0x1c0 [9.949603] [<93c703ce>] bochs_kms_fini+0x1e/0x30 [9.949983] [<93c6f338>] bochs_unload+0x18/0x40 [9.950370] [<939c0964>] drm_dev_unregister+0x24/0xa0 [9.950809] [<939c09fa>] drm_put_dev+0x1a/0x60 [9.951166] [<93c6f31e>] bochs_pci_remove+0xe/0x10 [9.951568] [<93880088>] pci_device_remove+0x28/0xb0 [9.952006] [<93c8355b>] driver_probe_device+0x9b/0x2e0 [9.952470] [<93c83831>] __driver_attach+0x91/0xa0 [9.952922] [<93c837a0>] ? driver_probe_device+0x2e0/0x2e0 [9.953400] [<93c81bdf>] bus_for_each_dev+0x4f/0x80 [9.953879] [<93c83924>] driver_attach+0x14/0x20 [9.954287] [<93c837a0>] ? driver_probe_device+0x2e0/0x2e0 [9.954747] [<93c82482>] bus_add_driver+0xe2/0x1
[drm-intel:drm-intel-nightly 341/365] drivers/gpu/drm//selftests/test-drm_mm.c:58:1: fatal error: opening dependency file drivers/gpu/drm//selftests/.test-drm_mm.o.d: No such file or directory
On Tue, Dec 27, 2016 at 07:46:55PM +0100, Daniel Vetter wrote: >On Wed, Dec 28, 2016 at 12:57:07AM +0800, kbuild test robot wrote: >> tree: git://anongit.freedesktop.org/drm-intel drm-intel-nightly >> head: 0d15e733fab5dd48154dda2bebdacd1d87069d08 >> commit: 50f0033d1a0f3a8e9eed09ab68067fbb57b0669d [341/365] drm: Add some >> kselftests for the DRM range manager (struct drm_mm) >> config: arm-allmodconfig (attached as .config) >> compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 >> reproduce: >> wget >> https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross >> -O ~/bin/make.cross >> chmod +x ~/bin/make.cross >> git checkout 50f0033d1a0f3a8e9eed09ab68067fbb57b0669d >> # save the attached .config to linux build tree >> make.cross ARCH=arm >> >> All errors (new ones prefixed by >>): >> >> >> drivers/gpu/drm//selftests/test-drm_mm.c:58:1: fatal error: opening >> >> dependency file drivers/gpu/drm//selftests/.test-drm_mm.o.d: No such file >> >> or directory >> MODULE_LICENSE("GPL"); >> ^~ >>compilation terminated. > >Hm, it compiles fine here. Is there anything different than normal in your >build setup? Like compiling to a different target using O=$output_path? Yes we use separated .o dir. Is that the problem? Thanks, Fengguang >> vim +58 drivers/gpu/drm//selftests/test-drm_mm.c >> >> 42 >> 43 return err > 0 ? 0 : err; >> 44 } >> 45 >> 46 static void __exit test_drm_mm_exit(void) >> 47 { >> 48 } >> 49 >> 50 module_init(test_drm_mm_init); >> 51 module_exit(test_drm_mm_exit); >> 52 >> 53 module_param(random_seed, uint, 0400); >> 54 module_param(max_iterations, uint, 0400); >> 55 module_param(max_prime, uint, 0400); >> 56 >> 57 MODULE_AUTHOR("Intel Corporation"); >> > 58 MODULE_LICENSE("GPL"); >> >> --- >> 0-DAY kernel test infrastructureOpen Source Technology Center >> https://lists.01.org/pipermail/kbuild-all Intel Corporation > > >> ___ >> dri-devel mailing list >> dri-devel at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/dri-devel > > >-- >Daniel Vetter >Software Engineer, Intel Corporation >http://blog.ffwll.ch
[drm] INFO: trying to register non-static key.
Greetings, 0day kernel testing robot got the below dmesg and the first bad commit is git://anongit.freedesktop.org/drm-intel topic/core-stuff commit 4e396fc20db96c0af710601f081ffb41b0fe611c Author: Daniel Vetter AuthorDate: Fri Sep 5 14:27:41 2014 +0200 Commit: Daniel Vetter CommitDate: Fri Sep 5 14:34:48 2014 +0200 drm: Drop modeset locking from crtc init function At driver init no one can access modeset objects and we're single-threaded. So locking is just cargo-culting here. Worse, with the new ww mutexes and ww mutex slowpath debugging the mutex_lock might actually fail, and we don't have the full-blown ww recovery dance. Which then leads to fireworks when we try to unlock the not-locked crtc lock. An audit of all the functions called from here shows that none of them contain locking checks, so there's also no reason to keep the locking around just for consistency of caller contexts. Besides that I have the rule (at least in i915) that such places where we take locks just to simplify locking checks and not for correctness always require a comment. This regression was introduced in commit 51fd371bbaf94018a1223b4e2cf20b9880fd92d4 Author: Rob Clark Date: Tue Nov 19 12:10:12 2013 -0500 drm: convert crtc and connection_mutex to ww_mutex (v5) Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=83341 Cc: Rob Clark Cc: thellstrom at vmware.com Cc: maarten.lankhorst at canonical.com Cc: stable at vger.kernel.org Signed-off-by: Daniel Vetter === PARENT COMMIT NOT CLEAN. LOOK OUT FOR WRONG BISECT! === Attached dmesg for the parent commit, too, to help confirm whether it is a noise error. +--++++ | | 5c551b501a | 4e396fc20d | 5a2aa64d4e | +--++++ | boot_successes | 31 | 0 | 0 | | boot_failures| 29 | 20 | 11 | | Kernel_panic-not_syncing:Out_of_memory_and_no_killable_processes | 25 ||| | backtrace:lock_torture_stats | 25 ||| | BUG:unable_to_handle_kernel_paging_request | 3 ||| | Oops | 2 | 20 | 11 | | EIP_is_at__lock_acquire | 1 ||| | Kernel_panic-not_syncing:Fatal_exception_in_interrupt| 1 ||| | backtrace:set_memory_np | 2 ||| | backtrace:free_init_pages| 2 ||| | backtrace:populate_rootfs| 2 ||| | backtrace:kernel_init_freeable | 2 | 20 | 11 | | EIP_is_at__change_page_attr_set_clr | 1 ||| | Kernel_panic-not_syncing:Fatal_exception | 1 | 20 | 11 | | BUG:kernel_boot_hang | 1 ||| | INFO:trying_to_register_non-static_key | 0 | 20 | 11 | | BUG:unable_to_handle_kernel_NULL_pointer_dereference | 0 | 20 | 11 | | EIP_is_at__ww_mutex_lock | 0 | 20 | 11 | | backtrace:drm_modeset_lock_all | 0 | 20 | 11 | | backtrace:drm_encoder_init | 0 | 20 | 11 | | backtrace:cirrus_modeset_init| 0 | 20 | 11 | | backtrace:__pci_register_driver | 0 | 20 | 11 | | backtrace:drm_pci_init | 0 | 20 | 11 | | backtrace:cirrus_init| 0 | 20 | 11 | +--++++ [0.836476] [drm] radeon kernel modesetting enabled. [0.837550] [TTM] Zone kernel: Available graphics m
[PATCH drm] drm/vgem: vgem_gem_dumb_map() can be static
On Wed, Apr 01, 2015 at 08:04:55PM -0700, Joe Perches wrote: > On Thu, 2015-04-02 at 10:59 +0800, kbuild test robot wrote: > > Signed-off-by: Fengguang Wu > [] > > diff --git a/drivers/gpu/drm/vgem/vgem_drv.c > > b/drivers/gpu/drm/vgem/vgem_drv.c > [] > > @@ -195,7 +195,7 @@ static int vgem_gem_dumb_create(struct drm_file *file, > > struct drm_device *dev, > > return 0; > > } > > > > -int vgem_gem_dumb_map(struct drm_file *file, struct drm_device *dev, > > +static int vgem_gem_dumb_map(struct drm_file *file, struct drm_device *dev, > > uint32_t handle, uint64_t *offset) > > Hello Fengguang. > > When you or your robot does these, can you please > make sure the entire statement is indented properly? OK, added it to the TODO list. Sorry for the inconvenience! Thanks, Fengguang
[kbuild-all] [Intel-gfx] [RFC 4/6] drm/i915: Add i915 perf event for Haswell OA unit
On Tue, Sep 29, 2015 at 05:18:45PM +0200, Peter Zijlstra wrote: > On Tue, Sep 29, 2015 at 10:55:39PM +0800, kbuild test robot wrote: > > Hi Robert, > > > > [auto build test results on v4.3-rc3 -- if it's inappropriate base, please > > ignore] > > > > config: i386-defconfig (attached as .config) > > reproduce: > > git checkout a1d59679ae8f3e7e7659e9723ae3fc69af2532e6 > > # save the attached .config to linux build tree > > make ARCH=i386 > > > > All warnings (new ones prefixed by >>): > > > > @Wu, hehe, another series pattern to match ;-) Thanks! I'm now matching ^([...])? ?[... ii/NN] as patch series. :-) Regards, Fengguang
[radeon-alex:drm-next-3.12-wip 31/90] WARNING: kfree(NULL) is safe this check is probably not required
Hi Alex, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~agd5f/linux.git drm-next-3.12-wip head: 21419df38d4ba010b1ea80e2f91b853c8c3de7e5 commit: 38306848032ac045ac5a5f3145271bc01176883e [31/90] drm/radeon/dpm: add support for parsing the atom powertune table scripts/checkpatch.pl 0001-drm-radeon-dpm-add-support-for-parsing-the-atom-powe.patch WARNING: kfree(NULL) is safe this check is probably not required #73: drivers/gpu/drm/radeon/r600_dpm.c:1079: + if (rdev->pm.dpm.dyn_state.cac_tdp_table) + kfree(rdev->pm.dpm.dyn_state.cac_tdp_table); The warning also shows up in many of the follow up patches. [radeon-alex:drm-next-3.12-wip 32/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 35/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 36/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 38/90] WARNING: kfree(NULL) is safe [radeon-alex:drm-next-3.12-wip 39/90] WARNING: kfree(NULL) is safe --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages'
Hi Shirish, Sorry for the noise! Do you have any branch pattern that I can add to blacklist? The regex could be 'chrome$' to match it in the end or just 'chrome' to match it anywhere in the branch name. Thanks, Fengguang On Tue, Nov 14, 2017 at 01:07:07PM +, S, Shirish wrote: Please ignore all the kbuild bot related mails on this branch. As the purpose of this branch is chrome specific and in a very specific build environment. Regards, Shirish S From: StDenis, Tom Sent: Tuesday, November 14, 2017 4:58:48 PM To: kbuild test robot Cc: kbuild-...@01.org; dri-devel@lists.freedesktop.org; S, Shirish; Koenig, Christian; Deucher, Alexander Subject: Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages' Is this: commit 7a9667ae197460e6c9c3bb432fe68c708fce6259 Refs: v4.13-rc5-1195-g7a9667ae1974 Author: Tom St Denis AuthorDate: Tue Sep 5 07:30:59 2017 -0400 Commit: Alex Deucher CommitDate: Tue Sep 12 14:22:55 2017 -0400 drm/ttm: Fix configuration error around populate_and_map() functions Fixed kbuild errors when IOMMU/SWIOTLB are disabled. Signed-off-by: Tom St Denis Reviewed-by: Christian König Signed-off-by: Alex Deucher Not part of this series because we literally went through this before :-) Tom On 13/11/17 05:25 PM, kbuild test robot wrote: tree: git://people.freedesktop.org/~agd5f/linux.git upstream-4.14-drm-next-amd-dc-staging-chrome head: 4448b9a68413462529d018050cd246bc33957bd6 commit: ed285b98008b667978d7faf348a22000b8a1c6b9 [4/16] drm/ttm: Add helper functions to populate/map in one call (v2) config: i386-randconfig-s0-201746 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: git checkout ed285b98008b667978d7faf348a22000b8a1c6b9 # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages' int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0: include/drm/ttm/ttm_page_alloc.h:120:19: note: previous definition of 'ttm_populate_and_map_pages' was here static inline int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ drivers/gpu//drm/ttm/ttm_page_alloc.c:950:6: error: redefinition of 'ttm_unmap_and_unpopulate_pages' void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0: include/drm/ttm/ttm_page_alloc.h:125:20: note: previous definition of 'ttm_unmap_and_unpopulate_pages' was here static inline void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ vim +/ttm_populate_and_map_pages +923 drivers/gpu//drm/ttm/ttm_page_alloc.c 922 > 923 int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt) 924 { 925 unsigned i; 926 int r; 927 928 r = ttm_pool_populate(&tt->ttm); 929 if (r) 930 return r; 931 932 for (i = 0; i < tt->ttm.num_pages; i++) { 933 tt->dma_address[i] = dma_map_page(dev, tt->ttm.pages[i], 934 0, PAGE_SIZE, 935 DMA_BIDIRECTIONAL); 936 if (dma_mapping_error(dev, tt->dma_address[i])) { 937 while (i--) { 938 dma_unmap_page(dev, tt->dma_address[i], 939 PAGE_SIZE, DMA_BIDIRECTIONAL); 940 tt->dma_address[i] = 0; 941 } 942 ttm_pool_unpopulate(&tt->ttm); 943 return -EFAULT; 944 } 945 } 946 return 0; 947 } 948 EXPORT_SYMBOL(ttm_populate_and_map_pages); 949 > 950 void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt) 951 { 952 unsigned i; 953 954 for (i = 0; i < tt->ttm.num_pages; i++) { 955 if (tt->dma_address[i]) { 956 dma_unmap_page(dev, tt->dma_address[i], 957 PAGE_SIZE, DMA_BIDIRECTIONAL);
Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages'
OK I'll blacklist all branches containing the "chrome" string. It's "grep -E" patterns. Here are some examples: wfg /c/lkp-tests% grep -hr blacklist repo blacklist_branch: master|revert- blacklist_branch: .* blacklist_branch: .* blacklist_branch: .* blacklist_branch: for-epmt blacklist_branch: master blacklist_branch: pending-rebases blacklist_branch: for_3.16/wip/net-qmss5 blacklist_branch: auto-next blacklist_branch: .* blacklist_branch: .* blacklist_branch: cpufreq-tixy blacklist_branch: .*\ blacklist_branch: akpm|akpm-base|stable blacklist_branch: dev blacklist_branch: .* blacklist_branch: auto-.*|tmp-.*|base-.*|test.*|.*-for-linus blacklist_branch: nx-emu blacklist_branch: .* blacklist_branch: master blacklist_branch: master blacklist_branch: unionmount blacklist_branch: check blacklist_branch: devel/.* blacklist_branch: rerere-cache|maintainer-tools blacklist_branch: .* blacklist_branch: auto-next blacklist_branch: .* blacklist_branch: .* blacklist_branch: openrisc-4.12-smp blacklist_branch: master|revert- blacklist_branch: master|revert- blacklist_branch: master|revert- blacklist_branch: master|revert- blacklist_branch: master|revert- blacklist_branch: master|revert- Thanks, Fengguang on Tue, Nov 14, 2017 at 01:13:07PM +, S, Shirish wrote: Do you have a standard such reference for uniformity, else chrome keyword will do. (typed on mobile, kindly ignore typos) Regards, Shirish S ________ From: Fengguang Wu Sent: Tuesday, November 14, 2017 6:41:41 PM To: S, Shirish Cc: StDenis, Tom; kbuild-...@01.org; dri-devel@lists.freedesktop.org; Koenig, Christian; Deucher, Alexander Subject: Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages' Hi Shirish, Sorry for the noise! Do you have any branch pattern that I can add to blacklist? The regex could be 'chrome$' to match it in the end or just 'chrome' to match it anywhere in the branch name. Thanks, Fengguang On Tue, Nov 14, 2017 at 01:07:07PM +, S, Shirish wrote: Please ignore all the kbuild bot related mails on this branch. As the purpose of this branch is chrome specific and in a very specific build environment. Regards, Shirish S From: StDenis, Tom Sent: Tuesday, November 14, 2017 4:58:48 PM To: kbuild test robot Cc: kbuild-...@01.org; dri-devel@lists.freedesktop.org; S, Shirish; Koenig, Christian; Deucher, Alexander Subject: Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages' Is this: commit 7a9667ae197460e6c9c3bb432fe68c708fce6259 Refs: v4.13-rc5-1195-g7a9667ae1974 Author: Tom St Denis AuthorDate: Tue Sep 5 07:30:59 2017 -0400 Commit: Alex Deucher CommitDate: Tue Sep 12 14:22:55 2017 -0400 drm/ttm: Fix configuration error around populate_and_map() functions Fixed kbuild errors when IOMMU/SWIOTLB are disabled. Signed-off-by: Tom St Denis Reviewed-by: Christian König Signed-off-by: Alex Deucher Not part of this series because we literally went through this before :-) Tom On 13/11/17 05:25 PM, kbuild test robot wrote: tree: git://people.freedesktop.org/~agd5f/linux.git upstream-4.14-drm-next-amd-dc-staging-chrome head: 4448b9a68413462529d018050cd246bc33957bd6 commit: ed285b98008b667978d7faf348a22000b8a1c6b9 [4/16] drm/ttm: Add helper functions to populate/map in one call (v2) config: i386-randconfig-s0-201746 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: git checkout ed285b98008b667978d7faf348a22000b8a1c6b9 # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages' int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0: include/drm/ttm/ttm_page_alloc.h:120:19: note: previous definition of 'ttm_populate_and_map_pages' was here static inline int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ drivers/gpu//drm/ttm/ttm_page_alloc.c:950:6: error: redefinition of 'ttm_unmap_and_unpopulate_pages' void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt) ^~ In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0: include/drm/ttm/ttm_page_alloc.h:125:20: note: previous definition of 'ttm_unmap_and_unpopulate_pages' was here static inline void ttm_unmap_and_unpopulate_pages(struct device *dev,
[lib/rbtree,drm/mm] 653c9f9a4d: BUG:kernel_hang_in_boot_stage
FYI, we noticed the following commit (built with gcc-5): commit: 653c9f9a4dd8037ffc5afbb1040d15566aa8f533 ("lib/rbtree,drm/mm: Add rbtree_replace_node_cached()") git://anongit.freedesktop.org/drm-intel topic/core-for-CI in testcase: boot on test machine: qemu-system-i386 -enable-kvm -smp 2 -m 320M caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): ++++ || 70c1cedd5c | 653c9f9a4d | ++++ | boot_successes | 0 | 0 | | boot_failures | 8 | 8 | | genirq:Flags_mismatch_irq##(ttyS0)vs.#(sir_ir) | 7 | 4 | | BUG:soft_lockup-CPU##stuck_for#s | 1 || | EIP:insert_augmented | 1 || | Kernel_panic-not_syncing:softlockup:hung_tasks | 1 || | BUG:kernel_hang_in_boot_stage | 0 | 4 | ++++ [ 77.806701] Linux agpgart interface v0.103 [ 77.825237] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 seconds, margin is 60 seconds). [ 77.860502] drm_mm: Testing DRM range manger (struct drm_mm), with random_seed=0xbac20086 max_iterations=8192 max_prime=128 [ 77.898934] drm_mm: igt_sanitycheck - ok! [ 328.297497] kworker/dying (33) used greatest stack depth: 7396 bytes left BUG: kernel hang in boot stage Elapsed time: 440 To reproduce: git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp qemu -k job-script # job-script is attached in this email Thanks, Fengguang # # Automatically generated file; DO NOT EDIT. # Linux/i386 4.14.0 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_MMU=y CONFIG_ARCH_MMAP_RND_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_BITS_MAX=16 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=3 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y # # General setup # CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_HAVE_KERNEL_LZ4=y # CONFIG_KERNEL_GZIP is not set CONFIG_KERNEL_BZIP2=y # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set # CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y # CONFIG_SYSVIPC is not set # CONFIG_POSIX_MQUEUE is not set # CONFIG_CROSS_MEMORY_ATTACH is not set CONFIG_FHANDLE=y # CONFIG_USELIB is not set # CONFIG_AUDIT is not set CONFIG_HAVE_ARCH_AUDITSYSCALL=y # # IRQ subsystem # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_SIM=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_HZ_PERIODIC=y # CONFIG_NO_HZ_IDLE is not set CONFIG_NO_HZ=y # CONFIG_HIGH_RES_TIMERS is not set # # CPU/Task time and stats accounting # CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y # CONFIG_TASKSTATS is not set # # RCU Subsystem # CONFIG_TINY_RCU=y #
[drm-intel:drm-intel-fixes 15/18] drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared
Hi Jesse, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-fixes head: 2cb47a9c6d49f2961dcf57f69ff968e65d48e876 commit: 307daa1b856699f1d4acc3972374017c3e99d331 [15/18] drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op config: x86_64-allyesconfig All error/warnings: drivers/gpu/drm/i915/intel_ringbuffer.c: In function 'gen6_ring_flush': drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared (first use in this function) drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: note: each undeclared identifier is reported only once for each function it appears in drivers/gpu/drm/i915/intel_ringbuffer.c: In function 'blt_ring_flush': drivers/gpu/drm/i915/intel_ringbuffer.c:1453:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared (first use in this function) vim +1405 drivers/gpu/drm/i915/intel_ringbuffer.c 307daa1b (Jesse Barnes 2012-10-02 1399) * Post-Sync Operation field is a value of 1h or 3h." 307daa1b (Jesse Barnes 2012-10-02 1400) */ 71a77e07 (Chris Wilson 2011-02-02 1401)if (invalidate & I915_GEM_GPU_DOMAINS) 307daa1b (Jesse Barnes 2012-10-02 1402)cmd |= MI_INVALIDATE_TLB | MI_INVALIDATE_BSD | 307daa1b (Jesse Barnes 2012-10-02 1403) MI_FLUSH_DW_STORE_INDEX | MI_FLUSH_DW_OP_STOREDW; 71a77e07 (Chris Wilson 2011-02-02 1404)intel_ring_emit(ring, cmd); 307daa1b (Jesse Barnes 2012-10-02 @1405)intel_ring_emit(ring, I915_GEM_SCRATCH_INDEX << 3); b72f3acb (Chris Wilson 2011-01-04 1406)intel_ring_emit(ring, 0); 71a77e07 (Chris Wilson 2011-02-02 1407)intel_ring_emit(ring, MI_NOOP); b72f3acb (Chris Wilson 2011-01-04 1408)intel_ring_advance(ring); --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu, Yuanhan Liu Intel Corporation
[drm-intel:drm-intel-next-queued 42/44] drivers/gpu/drm/i915/intel_pm.c:2506:2: error: 'ret' undeclared
Hi Ben, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 861b675336a1f686f480d92990251e99a3ec0956 commit: 686279dbcbc69f71ce86efdccaa8cad762cba2ea [42/44] drm/i915: Extract PCU communication config: x86_64-allyesconfig # make ARCH=x86_64 allyesconfig All error/warnings: drivers/gpu/drm/i915/intel_pm.c: In function 'gen6_enable_rps': drivers/gpu/drm/i915/intel_pm.c:2506:2: error: 'ret' undeclared (first use in this function) drivers/gpu/drm/i915/intel_pm.c:2506:2: note: each undeclared identifier is reported only once for each function it appears in vim +2506 drivers/gpu/drm/i915/intel_pm.c 89ba829e Jesse Barnes 2012-05-22 2500 GEN6_RP_MEDIA_HW_NORMAL_MODE | 2b4e57bd Eugeni Dodonov 2012-04-18 2501 GEN6_RP_MEDIA_IS_GFX | 2b4e57bd Eugeni Dodonov 2012-04-18 2502 GEN6_RP_ENABLE | 2b4e57bd Eugeni Dodonov 2012-04-18 2503 GEN6_RP_UP_BUSY_AVG | 5a7dc92a Eugeni Dodonov 2012-07-02 2504 (IS_HASWELL(dev) ? GEN7_RP_DOWN_IDLE_AVG : GEN6_RP_DOWN_IDLE_CONT)); 2b4e57bd Eugeni Dodonov 2012-04-18 2505 686279db Ben Widawsky 2012-09-26 @2506ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0); 686279db Ben Widawsky 2012-09-26 2507if (!ret) { 686279db Ben Widawsky 2012-09-26 2508pcu_mbox = 0; 686279db Ben Widawsky 2012-09-26 2509ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation
Re: [drm-intel:drm-intel-nightly 52/52] drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone'
On Fri, Aug 31, 2012 at 10:47:59AM +0200, Daniel Vetter wrote: > On Fri, Aug 31, 2012 at 8:55 AM, Fengguang Wu wrote: > > Hi Daniel, > > > > FYI, kernel build failed on > > > > tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly > > head: faee69aa381f507731eb68d263dcd0d446c1fd58 > > commit: faee69aa381f507731eb68d263dcd0d446c1fd58 [52/52] Merge > > remote-tracking branch 'origin/drm-intel-fixes' into drm-intel-nightly > > config: i386-randconfig-b943 (attached as .config) > > > > Build errors: > > > > drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of > > function 'i915_get_extra_instdone' [-Werror=implicit-function-declaration] > > Hm, seems to compile fine here and afaict the function declaration > also exists in that file. Can you please double-check? Daniel, It's too late here and I'm traveling these days, I'll check it some time later. It may well be some bug in the build or test system. Sorry for the noise! Thanks, Fengguang > Fyi I've checked this on: > > commit faee69aa381f507731eb68d263dcd0d446c1fd58 > Merge: 0e0428b 0fb8728 > Author: Daniel Vetter > Date: Thu Aug 30 11:09:53 2012 +0200 > > Merge remote-tracking branch 'origin/drm-intel-fixes' into > drm-intel-nightly > > Thanks, Daniel > > > > > vim +1330 drivers/gpu/drm/i915/i915_irq.c > > 1327 > > 1328 pr_err("render error detected, EIR: 0x%08x\n", eir); > > 1329 > >> 1330 i915_get_extra_instdone(dev, instdone); > > 1331 > > 1332 if (IS_G4X(dev)) { > > 1333 if (eir & (GM45_ERROR_MEM_PRIV | > > GM45_ERROR_CP_PRIV)) { > > > > --- > > 0-DAY kernel build testing backend Open Source Technology Centre > > Fengguang Wu Intel Corporation > > > > -- > Daniel Vetter > daniel.vet...@ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [drm-intel:drm-intel-nightly 52/52] drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone'
On Fri, Aug 31, 2012 at 10:47:59AM +0200, Daniel Vetter wrote: > On Fri, Aug 31, 2012 at 8:55 AM, Fengguang Wu wrote: > > Hi Daniel, > > > > FYI, kernel build failed on > > > > tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly > > head: faee69aa381f507731eb68d263dcd0d446c1fd58 > > commit: faee69aa381f507731eb68d263dcd0d446c1fd58 [52/52] Merge > > remote-tracking branch 'origin/drm-intel-fixes' into drm-intel-nightly > > config: i386-randconfig-b943 (attached as .config) > > > > Build errors: > > > > drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of > > function 'i915_get_extra_instdone' [-Werror=implicit-function-declaration] > > Hm, seems to compile fine here and afaict the function declaration > also exists in that file. Can you please double-check? Daniel, it turns out that the function was sitting in an '#ifdef CONFIG_DEBUG_FS' block.. Thanks, Fengguang ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-fixes 15/18] drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared
Hi Jesse, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-fixes head: 2cb47a9c6d49f2961dcf57f69ff968e65d48e876 commit: 307daa1b856699f1d4acc3972374017c3e99d331 [15/18] drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op config: x86_64-allyesconfig All error/warnings: drivers/gpu/drm/i915/intel_ringbuffer.c: In function 'gen6_ring_flush': drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared (first use in this function) drivers/gpu/drm/i915/intel_ringbuffer.c:1405:24: note: each undeclared identifier is reported only once for each function it appears in drivers/gpu/drm/i915/intel_ringbuffer.c: In function 'blt_ring_flush': drivers/gpu/drm/i915/intel_ringbuffer.c:1453:24: error: 'I915_GEM_SCRATCH_INDEX' undeclared (first use in this function) vim +1405 drivers/gpu/drm/i915/intel_ringbuffer.c 307daa1b (Jesse Barnes 2012-10-02 1399) * Post-Sync Operation field is a value of 1h or 3h." 307daa1b (Jesse Barnes 2012-10-02 1400) */ 71a77e07 (Chris Wilson 2011-02-02 1401)if (invalidate & I915_GEM_GPU_DOMAINS) 307daa1b (Jesse Barnes 2012-10-02 1402)cmd |= MI_INVALIDATE_TLB | MI_INVALIDATE_BSD | 307daa1b (Jesse Barnes 2012-10-02 1403) MI_FLUSH_DW_STORE_INDEX | MI_FLUSH_DW_OP_STOREDW; 71a77e07 (Chris Wilson 2011-02-02 1404)intel_ring_emit(ring, cmd); 307daa1b (Jesse Barnes 2012-10-02 @1405)intel_ring_emit(ring, I915_GEM_SCRATCH_INDEX << 3); b72f3acb (Chris Wilson 2011-01-04 1406)intel_ring_emit(ring, 0); 71a77e07 (Chris Wilson 2011-02-02 1407)intel_ring_emit(ring, MI_NOOP); b72f3acb (Chris Wilson 2011-01-04 1408)intel_ring_advance(ring); --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu, Yuanhan Liu Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-next-queued 42/44] drivers/gpu/drm/i915/intel_pm.c:2506:2: error: 'ret' undeclared
Hi Ben, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 861b675336a1f686f480d92990251e99a3ec0956 commit: 686279dbcbc69f71ce86efdccaa8cad762cba2ea [42/44] drm/i915: Extract PCU communication config: x86_64-allyesconfig # make ARCH=x86_64 allyesconfig All error/warnings: drivers/gpu/drm/i915/intel_pm.c: In function 'gen6_enable_rps': drivers/gpu/drm/i915/intel_pm.c:2506:2: error: 'ret' undeclared (first use in this function) drivers/gpu/drm/i915/intel_pm.c:2506:2: note: each undeclared identifier is reported only once for each function it appears in vim +2506 drivers/gpu/drm/i915/intel_pm.c 89ba829e Jesse Barnes 2012-05-22 2500 GEN6_RP_MEDIA_HW_NORMAL_MODE | 2b4e57bd Eugeni Dodonov 2012-04-18 2501 GEN6_RP_MEDIA_IS_GFX | 2b4e57bd Eugeni Dodonov 2012-04-18 2502 GEN6_RP_ENABLE | 2b4e57bd Eugeni Dodonov 2012-04-18 2503 GEN6_RP_UP_BUSY_AVG | 5a7dc92a Eugeni Dodonov 2012-07-02 2504 (IS_HASWELL(dev) ? GEN7_RP_DOWN_IDLE_AVG : GEN6_RP_DOWN_IDLE_CONT)); 2b4e57bd Eugeni Dodonov 2012-04-18 2505 686279db Ben Widawsky 2012-09-26 @2506ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0); 686279db Ben Widawsky 2012-09-26 2507if (!ret) { 686279db Ben Widawsky 2012-09-26 2508pcu_mbox = 0; 686279db Ben Widawsky 2012-09-26 2509ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-next-queued 242/253] drivers/gpu/drm/i915/intel_ringbuffer.c:1478:3-25: duplicated argument to & or |
Hi Jesse, FYI, there are coccinelle warnings in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 25fb73785b14593a79198af6ed702cf15dd16e6e commit: eba434781d68ce562aa64c423876958e6c707c84 [242/253] drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op + drivers/gpu/drm/i915/intel_ringbuffer.c:1478:3-25: duplicated argument to & or | vim +1478 drivers/gpu/drm/i915/intel_ringbuffer.c 71a77e07 Chris Wilson 2011-02-02 1462 uint32_t cmd; b72f3acb Chris Wilson 2011-01-04 1463 int ret; b72f3acb Chris Wilson 2011-01-04 1464 6a233c78 Daniel Vetter 2011-12-14 1465 ret = intel_ring_begin(ring, 4); b72f3acb Chris Wilson 2011-01-04 1466 if (ret) b72f3acb Chris Wilson 2011-01-04 1467 return ret; b72f3acb Chris Wilson 2011-01-04 1468 71a77e07 Chris Wilson 2011-02-02 1469 cmd = MI_FLUSH_DW; eba43478 Jesse Barnes 2012-10-26 1470 /* eba43478 Jesse Barnes 2012-10-26 1471 * Bspec vol 1c.3 - blitter engine command streamer: eba43478 Jesse Barnes 2012-10-26 1472 * "If ENABLED, all TLBs will be invalidated once the flush eba43478 Jesse Barnes 2012-10-26 1473 * operation is complete. This bit is only valid when the eba43478 Jesse Barnes 2012-10-26 1474 * Post-Sync Operation field is a value of 1h or 3h." eba43478 Jesse Barnes 2012-10-26 1475 */ 71a77e07 Chris Wilson 2011-02-02 1476 if (invalidate & I915_GEM_DOMAIN_RENDER) eba43478 Jesse Barnes 2012-10-26 1477 cmd |= MI_INVALIDATE_TLB | MI_FLUSH_DW_STORE_INDEX | eba43478 Jesse Barnes 2012-10-26 @1478 MI_FLUSH_DW_OP_STOREDW | MI_FLUSH_DW_OP_STOREDW; 71a77e07 Chris Wilson 2011-02-02 1479 intel_ring_emit(ring, cmd); eba43478 Jesse Barnes 2012-10-26 1480 intel_ring_emit(ring, I915_GEM_HWS_SCRATCH_ADDR | MI_FLUSH_DW_USE_GTT); b72f3acb Chris Wilson 2011-01-04 1481 intel_ring_emit(ring, 0); 71a77e07 Chris Wilson 2011-02-02 1482 intel_ring_emit(ring, MI_NOOP); b72f3acb Chris Wilson 2011-01-04 1483 intel_ring_advance(ring); b72f3acb Chris Wilson 2011-01-04 1484 return 0; 8d19215b Zou Nan hai 2010-11-02 1485 } 8d19215b Zou Nan hai 2010-11-02 1486 --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-next-queued 255/259] drivers/gpu/drm/i915/i915_gem_gtt.c:366:36: sparse: dereference of noderef expression
Hi Ben, FYI, there are new sparse warnings show up in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: afef67fbc09aec8508c88aac1931661a36e91958 commit: a1e0e54668f41badfaf5e49cae9fc10b79635b25 [255/259] drm/i915: Stop using AGP layer for GEN6+ + drivers/gpu/drm/i915/i915_gem_gtt.c:366:36: sparse: dereference of noderef expression vim +366 drivers/gpu/drm/i915/i915_gem_gtt.c a1e0e546 Ben Widawsky 2012-11-04 350 { a1e0e546 Ben Widawsky 2012-11-04 351 struct drm_device *dev = obj->base.dev; a1e0e546 Ben Widawsky 2012-11-04 352 struct drm_i915_private *dev_priv = dev->dev_private; a1e0e546 Ben Widawsky 2012-11-04 353 struct sg_table *st = obj->pages; a1e0e546 Ben Widawsky 2012-11-04 354 struct scatterlist *sg = st->sgl; a1e0e546 Ben Widawsky 2012-11-04 355 const int first_entry = obj->gtt_space->start >> PAGE_SHIFT; a1e0e546 Ben Widawsky 2012-11-04 356 const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; a1e0e546 Ben Widawsky 2012-11-04 357 gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gtt->gtt + first_entry; a1e0e546 Ben Widawsky 2012-11-04 358 int unused, i = 0; a1e0e546 Ben Widawsky 2012-11-04 359 unsigned int len, m = 0; a1e0e546 Ben Widawsky 2012-11-04 360 dma_addr_t addr; a1e0e546 Ben Widawsky 2012-11-04 361 a1e0e546 Ben Widawsky 2012-11-04 362 for_each_sg(st->sgl, sg, st->nents, unused) { a1e0e546 Ben Widawsky 2012-11-04 363 len = sg_dma_len(sg) >> PAGE_SHIFT; a1e0e546 Ben Widawsky 2012-11-04 364 for (m = 0; m < len; m++) { a1e0e546 Ben Widawsky 2012-11-04 365 addr = sg_dma_address(sg) + (m << PAGE_SHIFT); a1e0e546 Ben Widawsky 2012-11-04 @366 gtt_entries[i] = pte_encode(dev, addr, level); a1e0e546 Ben Widawsky 2012-11-04 367 i++; a1e0e546 Ben Widawsky 2012-11-04 368 } a1e0e546 Ben Widawsky 2012-11-04 369 } a1e0e546 Ben Widawsky 2012-11-04 370 a1e0e546 Ben Widawsky 2012-11-04 371 BUG_ON(i > max_entries); a1e0e546 Ben Widawsky 2012-11-04 372 BUG_ON(i != obj->base.size / PAGE_SIZE); a1e0e546 Ben Widawsky 2012-11-04 373 a1e0e546 Ben Widawsky 2012-11-04 374 /* XXX: This serves as a posting read to make sure that the PTE has --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
general protection fault on ttm_init()
Hi Thomas, I got this error while running kvm boot tests on linux-next. Attached is the kconfig. [7.064962] [drm:drm_core_init] *ERROR* Cannot create /proc/dri [7.067443] general protection fault: [#1] PREEMPT [7.068713] CPU 0 [7.068713] Pid: 1, comm: swapper Not tainted 3.5.0-rc5-07204-g646e30b #8 Bochs Bochs [7.068713] RIP: 0010:[] [] __lock_acquire.isra.19+0x64/0x7c9 [7.068713] RSP: 0018:8806fd10 EFLAGS: 00010097 [7.068713] RAX: RBX: 8807 RCX: [7.068713] RDX: RSI: RDI: a56b6b6b6b6b6e73 [7.068713] RBP: 8806fd80 R08: R09: [7.068713] R10: R11: R12: 0246 [7.068713] R13: R14: R15: a56b6b6b6b6b6e73 [7.068713] FS: () GS:81a24000() knlGS: [7.068713] CS: 0010 DS: ES: CR0: 8005003b [7.068713] CR2: CR3: 01a12000 CR4: 06f0 [7.068713] DR0: DR1: DR2: [7.068713] DR3: DR6: 0ff0 DR7: 0400 [7.068713] Process swapper (pid: 1, threadinfo 8806e000, task 8807) [7.068713] Stack: [7.068713] 0046 8806fd50 81c40020 [7.068713] 8105d409 8806fd90 [7.068713] 8806fde0 8807 0246 881c0ab8 [7.068713] Call Trace: [7.068713] [] ? mutex_remove_waiter+0x6a/0x7e [7.068713] [] lock_acquire+0x5b/0x78 [7.068713] [] ? get_device_parent+0x98/0x1b0 [7.068713] [] _raw_spin_lock+0x3c/0x6f [7.068713] [] ? get_device_parent+0x98/0x1b0 [7.068713] [] get_device_parent+0x98/0x1b0 [7.068713] [] device_add+0xf4/0x589 [7.068713] [] ? drm_core_init+0xca/0xca [7.068713] [] ? pm_runtime_init+0xfa/0xfe [7.068713] [] ? drm_core_init+0xca/0xca [7.068713] [] device_register+0x16/0x1a [7.068713] [] drm_class_device_register+0x17/0x19 [7.068713] [] ttm_init+0x37/0x62 [7.068713] [] do_one_initcall+0x78/0x131 [7.068713] [] kernel_init+0xf4/0x178 [7.068713] [] ? loglevel+0x31/0x31 [7.068713] [] kernel_thread_helper+0x4/0x10 [7.068713] [] ? do_one_initcall+0x131/0x131 [7.068713] [] ? gs_change+0x13/0x13 [7.068713] Code: 49 89 ff 41 89 f5 0f 85 fe 06 00 00 9c 58 66 66 90 66 90 f6 c4 02 0f 84 ee 06 00 00 e8 2b 00 0e 00 31 c0 e9 59 07 00 00 44 89 e8 <4d> 8b 64 c7 08 4d 85 e4 0f 85 04 03 00 00 83 3d 20 7c 18 01 00 [7.068713] RIP [] __lock_acquire.isra.19+0x64/0x7c9 [7.068713] RSP [7.068713] ---[ end trace 6e1803df9f758306 ]--- [7.068713] Kernel panic - not syncing: Fatal exception Thanks, Fengguang [0.00] Linux version 3.5.0-rc5-07204-g646e30b (wfg@bee) (gcc version 4.7.0 (Debian 4.7.1-1) ) #8 PREEMPT Fri Jul 6 22:35:45 CST 2012 [0.00] Command line: rcutorture.rcutorture_runnable=0 tree=mm:akpm auth_hashtable_size=10 sunrpc.auth_hashtable_size=10 log_buf_len=8M ignore_loglevel debug sched_debug apic=debug dynamic_printk sysrq_always_enabled panic=10 hung_task_panic=1 softlockup_panic=1 unknown_nmi_panic=1 nmi_watchdog=panic,lapic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal ip=kvm::dhcp nfsroot=10.239.97.14:/nfsroot/wfg,tcp,v3,nocto,actimeo=600,nolock,rsize=524288,wsize=524288 rw link=vmlinuz-2012-07-06-22-36-01-mm-origin.akpm-dece410-646e30b-x86_64-randconfig-mm3-1 BOOT_IMAGE=kernel-tests/kernels/x86_64-randconfig-mm3/646e30b5919c3a3424f981cb66b932dbfa8563ce/vmlinuz-3.5.0-rc5-07204-g646e30b [0.00] Disabled fast string operations [0.00] e820: BIOS-provided physical RAM map: [0.00] NX (Execute Disable) protection: active [0.00] DMI 2.4 present. [0.00] e820: last_pfn = 0x1fffd max_arch_pfn = 0x4 [0.00] x86 PAT enabled: cpu 0, old 0x0, new 0x7010600070106 [0.00] init_memory_mapping: [mem 0x-0x1fffcfff] [0.00] RAMDISK: [mem 0x1e8d6000-0x1ffe] [0.00] kvm-clock: cpu 0, msr 0:1a2e841, boot clock [0.00] Zone ranges: [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x0001-0x0009efff] [0.00] node 0: [mem 0x0010-0x1fffcfff] [0.00] ACPI: PM-Timer IO Port: 0xb008 [0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [0.00] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) [0.00] ACPI: NR_CPUS/possible_cpus limit of 1 reached. Processor 1/0x1 ignored. [0.00] ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) [0.00] IOAPIC[0]: apic_id 2, version 17, address 0xfec0, GSI 0-23 [0.00] ACPI: INT_
Re: general protection fault on ttm_init()
On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu wrote: > >> ... The missed kconfig. > >> > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > >>> Hi Thomas, > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > looks like the error path is failing to dtrt. > > I've attached a patch that should fix it, let me know if it works. It does not work.. The dmesg (attached) remains the same. > though since the drm fails on proc not being there I wonder should we > just enforce proc being there if you pick drm. Yeah, enabling PROC_FS does fix the error :) Thanks, Fengguang [0.00] Linux version 3.5.0-rc2-00059-gc5fb75a-dirty (wfg@wfg-t420) (gcc version 4.7.0 (Debian 4.7.0-10) ) #3 PREEMPT Sat Jul 7 09:42:37 CST 2012 [0.00] Command line: console=ttyS0,115200 console=tty nokeymap root=/dev/ram0 rw [0.00] e820: BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x0009f3ff] usable [0.00] BIOS-e820: [mem 0x0009f400-0x0009] reserved [0.00] BIOS-e820: [mem 0x000f-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0x1fffcfff] usable [0.00] BIOS-e820: [mem 0x1fffd000-0x1fff] reserved [0.00] BIOS-e820: [mem 0xfeffc000-0xfeff] reserved [0.00] BIOS-e820: [mem 0xfffc-0x] reserved [0.00] NX (Execute Disable) protection: active [0.00] DMI 2.4 present. [0.00] e820: last_pfn = 0x1fffd max_arch_pfn = 0x4 [0.00] x86 PAT enabled: cpu 0, old 0x70406, new 0x7010600070106 [0.00] init_memory_mapping: [mem 0x-0x1fffcfff] [0.00] RAMDISK: [mem 0x1e8d6000-0x1ffe] [0.00] ACPI: RSDP 000fd9a0 00014 (v00 BOCHS ) [0.00] ACPI: RSDT 1fffd7b0 00034 (v01 BOCHS BXPCRSDT 0001 BXPC 0001) [0.00] ACPI: FACP 1f80 00074 (v01 BOCHS BXPCFACP 0001 BXPC 0001) [0.00] ACPI: DSDT 1fffd9b0 02589 (v01 BXPC BXDSDT 0001 INTL 20100528) [0.00] ACPI: FACS 1f40 00040 [0.00] ACPI: SSDT 1fffd910 0009E (v01 BOCHS BXPCSSDT 0001 BXPC 0001) [0.00] ACPI: APIC 1fffd830 00072 (v01 BOCHS BXPCAPIC 0001 BXPC 0001) [0.00] ACPI: HPET 1fffd7f0 00038 (v01 BOCHS BXPCHPET 0001 BXPC 0001) [0.00] kvm-clock: Using msrs 4b564d01 and 4b564d00 [0.00] kvm-clock: cpu 0, msr 0:1a2cc81, boot clock [0.00] Zone ranges: [0.00] DMA32[mem 0x0001-0x] [0.00] Normal empty [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x0001-0x0009efff] [0.00] node 0: [mem 0x0010-0x1fffcfff] [0.00] ACPI: PM-Timer IO Port: 0xb008 [0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [0.00] ACPI: IOAPIC (id[0x01] address[0xfec0] gsi_base[0]) [0.00] IOAPIC[0]: apic_id 1, version 17, address 0xfec0, GSI 0-23 [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) [0.00] Using ACPI (MADT) for SMP configuration information [0.00] ACPI: HPET id: 0x8086a201 base: 0xfed0 [0.00] KVM setup async PF for cpu 0 [0.00] kvm-stealtime: cpu 0, msr 1a2cc00 [0.00] e820: [mem 0x2000-0xfeffbfff] available for PCI devices [0.00] Booting paravirtualized kernel on KVM [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 128902 [0.00] Kernel command line: [0.00] PID hash table entries: 2048 (order: 2, 16384 bytes) [0.00] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) [0.00] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) [0.00] __ex_table already sorted, skipping sort [0.00] Memory: 469120k/524276k available (5504k kernel code, 452k absent, 54704k reserved, 7636k data, 820k init) [0.00] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [0.00] NR_IRQS:4352 nr_irqs:256 16 [0.00] console [ttyS0] enabled [0.00] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar [0.00] ... MAX_LOCKDEP_SUBCLASSES: 8 [0.00] ... MAX_LOCK_DEPTH:
Re: general protection fault on ttm_init()
On Sat, Jul 07, 2012 at 10:08:47AM +0800, Fengguang Wu wrote: > On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu > > > wrote: > > >> ... The missed kconfig. > > >> > > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > > >>> Hi Thomas, > > > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > > looks like the error path is failing to dtrt. > > > > I've attached a patch that should fix it, let me know if it works. > > It does not work.. The dmesg (attached) remains the same. I got more interesting back traces in a clean kernel: device class 'drm': registering kobject: 'drm' (88000f07f050): kobject_add_internal: parent: 'class', set: 'class' kobject: 'drm' (88000f07f050): kobject_uevent_env kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' [drm:drm_core_init] *ERROR* Cannot create /proc/dri device class 'drm': unregistering kobject: 'drm' (88000f07f050): kobject_cleanup kobject: 'drm' (88000f07f050): auto cleanup 'remove' event kobject: 'drm' (88000f07f050): kobject_uevent_env kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' kobject: 'drm' (88000f07f050): auto cleanup kobject_del kobject: 'drm' (88000f07f050): calling ktype release class 'drm': release. class_create_release called for drm kobject: 'drm': free name kobject: 'drm' (88000f080070): kobject_cleanup kobject: 'drm' (88000f080070): calling ktype release kobject: 'drm': free name device: 'ttm': device_add kobject: '(null)' (88000f080230): kobject_add_internal: parent: 'virtual', set: '(null)' kobject: 'ttm' (824709b0): kobject_add_internal: parent: '(null)', set: 'devices' general protection fault: [#1] SMP CPU 1 Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 RIP: 0010:[] [] sysfs_do_create_link+0x59/0x1c0 RSP: 0018:88107db0 EFLAGS: 00010206 RAX: 8810 RBX: 00cc RCX: dad9 RDX: d9d9 RSI: RDI: 8243b320 RBP: 88107e00 R08: 88100580 R09: fe80 R10: 8810 R11: 0200 R12: 821622db R13: 88000f080150 R14: 0001 R15: 88000f080308 FS: () GS:88000df0() knlGS: CS: 0010 DS: ES: CR0: 8005003b CR2: CR3: 02411000 CR4: 06a0 DR0: DR1: DR2: DR3: DR6: 0ff0 DR7: 0400 Process swapper/0 (pid: 1, threadinfo 88106000, task 8810) Stack: 88000f080308 824709b0 02ec 824709b0 02ec 824709a0 88107e10 8115ecce Call Trace: [] sysfs_create_link+0xe/0x10 [] device_add+0x289/0x610 [] ? drm_core_init+0xca/0xca [] ? device_pm_init+0x69/0x90 [] ? drm_core_init+0xca/0xca [] device_register+0x19/0x20 [] drm_class_device_register+0x17/0x20 [] ttm_init+0x37/0x62 [] do_one_initcall+0x7a/0x139 [] kernel_init+0x103/0x187 [] ? do_early_param+0x8c/0x8c [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0x13/0x13 [] ? do_one_initcall+0x139/0x139 [] ? gs_change+0x13/0x13 Code: 4c 8b 7f 30 bb f2 ff ff ff 4d 85 ff 0f 84 a2 00 00 00 48 c7 c7 20 b3 43 82 e8 c4 e2 b6 00 49 8b 5d 30 48 85 db 0f 84 27 01 00 00 <8b> 03 f0 ff 03 48 c7 c7 20 b3 43 82 e8 d6 e3 b6 00 4c 89 e7 ba RIP [] sysfs_do_create_link+0x59/0x1c0 RSP and: kobject: 'drm': free name device: 'ttm': device_add BUG: unable to handle kernel paging request at 00010001 IP: [] strnlen+0xd/0x40 PGD 0 Oops: [#1] SMP CPU 1 Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 RIP: 0010:[] [] strnlen+0xd/0x40 RSP: 0018:88107c30 EFLAGS: 00010286 RAX: 8210a8fc RBX: RCX: fffe RDX: 00010001 RSI: RDI: 00010001 RBP: 88107c30 R08: R09: R10: 88000f0750f0 R11: 824384e0 R12: 00010001 R13: R14: R15: FS: () GS:88000df0() knlGS: CS: 0010 DS: ES: CR0: 8005003b CR2: 00010001 CR3: 02411000 CR4: 06a0 DR0: DR1
Re: general protection fault on ttm_init()
On Sat, Jul 07, 2012 at 11:31:42PM +0800, Fengguang Wu wrote: > On Sat, Jul 07, 2012 at 10:08:47AM +0800, Fengguang Wu wrote: > > On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > > > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu > > > > wrote: > > > >> ... The missed kconfig. > > > >> > > > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > > > >>> Hi Thomas, > > > > > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > > > looks like the error path is failing to dtrt. > > > > > > I've attached a patch that should fix it, let me know if it works. > > > > It does not work.. The dmesg (attached) remains the same. > > I got more interesting back traces in a clean kernel: Another trace shows that ttm_init tries to register with an empty name: [2.919061] WARNING: at /c/kernel-tests/tip/lib/kobject.c:166 kobject_add_internal+0x1a3/0x210() [2.917489] device: 'ttm': device_add [2.918179] [ cut here ] [2.919061] WARNING: at /c/kernel-tests/tip/lib/kobject.c:166 kobject_add_internal+0x1a3/0x210() ==>[2.920704] kobject: (8826ecc0): attempted to be registered with empty name! [2.922129] Pid: 1, comm: swapper Not tainted 3.5.0-rc2+ #28 [2.923172] Call Trace: [2.923638] [] ? kobject_add_internal+0x1a3/0x210 [2.924827] [] warn_slowpath_common+0x66/0x90 [2.925993] [] ? drm_core_init+0xca/0xca [2.927028] [] warn_slowpath_fmt+0x41/0x50 [2.928093] [] kobject_add_internal+0x1a3/0x210 [2.929261] [] ? drm_core_init+0xca/0xca [2.930327] [] ? drm_core_init+0xca/0xca [2.931473] [] kobject_add+0x67/0xc0 [2.932589] [] ? get_device_parent+0x118/0x1b7 [2.933790] [] get_device_parent+0x161/0x1b7 [2.934895] [] device_add+0x151/0x5f0 [2.935907] [] ? drm_core_init+0xca/0xca [2.936940] [] ? __raw_spin_lock_init+0x38/0x70 [2.938099] [] ? drm_core_init+0xca/0xca [2.939132] [] device_register+0x19/0x20 [2.940254] [] drm_class_device_register+0x17/0x20 [2.941437] [] ttm_init+0x37/0x62 [2.942360] [] do_one_initcall+0x78/0x136 [2.943413] [] kernel_init+0x122/0x1a6 [2.944415] [] ? loglevel+0x31/0x31 [2.945402] [] kernel_thread_helper+0x4/0x10 [2.946506] [] ? retint_restore_args+0x13/0x13 [2.947635] [] ? do_one_initcall+0x136/0x136 [2.948739] [] ? gs_change+0x13/0x13 Thanks, Fengguang > device class 'drm': registering > kobject: 'drm' (88000f07f050): kobject_add_internal: parent: 'class', > set: 'class' > kobject: 'drm' (88000f07f050): kobject_uevent_env > kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' > [drm:drm_core_init] *ERROR* Cannot create /proc/dri > device class 'drm': unregistering > kobject: 'drm' (88000f07f050): kobject_cleanup > kobject: 'drm' (88000f07f050): auto cleanup 'remove' event > kobject: 'drm' (88000f07f050): kobject_uevent_env > kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' > kobject: 'drm' (88000f07f050): auto cleanup kobject_del > kobject: 'drm' (88000f07f050): calling ktype release > class 'drm': release. > class_create_release called for drm > kobject: 'drm': free name > kobject: 'drm' (88000f080070): kobject_cleanup > kobject: 'drm' (88000f080070): calling ktype release > kobject: 'drm': free name > device: 'ttm': device_add > kobject: '(null)' (88000f080230): kobject_add_internal: parent: > 'virtual', set: '(null)' > kobject: 'ttm' (824709b0): kobject_add_internal: parent: '(null)', > set: 'devices' > general protection fault: [#1] SMP > CPU 1 > Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 > RIP: 0010:[] [] > sysfs_do_create_link+0x59/0x1c0 > RSP: 0018:88107db0 EFLAGS: 00010206 > RAX: 8810 RBX: 00cc RCX: dad9 > RDX: d9d9 RSI: RDI: 8243b320 > RBP: 88107e00 R08: 88100580 R09: fe80 > R10: 8810 R11: 0200 R12: 821622db > R13: 8800
Re: general protection fault on ttm_init()
Hi Dave, On Sat, Jul 14, 2012 at 01:33:45PM +1000, Dave Airlie wrote: > Can you try this patch on top of the previous one? > > I think it should fix it. You are right, it works! Thank you very much! :-) Thanks, Fengguang ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-next-queued 58/59] drivers/gpu/drm/i915/i915_gem_context.c:454:6: warning: unused variable 'ret'
Hi Chris, There are new compile warnings show up in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 3cbf0ed71c262c2f07b3386e3c07c8d41440e050 commit: 289513fe7d347ce23f4f45906324601bf7df01af [58/59] drm/i915: fix invalid reference handling of the default ctx obj All warnings: drivers/gpu/drm/i915/i915_gem_context.c: In function 'i915_switch_context': drivers/gpu/drm/i915/i915_gem_context.c:454:6: warning: unused variable 'ret' [-Wunused-variable] vim +454 drivers/gpu/drm/i915/i915_gem_context.c 451 struct drm_i915_file_private *file_priv = NULL; 452 struct i915_hw_context *to; 453 struct drm_i915_gem_object *from_obj = ring->last_context_obj; > 454 int ret; 455 456 if (dev_priv->hw_contexts_disabled) 457 return 0; --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu Intel Corporation ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] fix nouveau build error on !CONFIG_MXM_WMI
Fix build error on IA64: ERROR: "mxm_wmi_supported" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- include/linux/mxm-wmi.h |8 1 file changed, 8 insertions(+) diff --git a/include/linux/mxm-wmi.h b/include/linux/mxm-wmi.h index 617a295..f6a6214 100644 --- a/include/linux/mxm-wmi.h +++ b/include/linux/mxm-wmi.h @@ -28,6 +28,14 @@ #define MXM_MXDS_ADAPTER_IGD 0x10 int mxm_wmi_call_mxds(int adapter); int mxm_wmi_call_mxmx(int adapter); + +#if IS_ENABLED(CONFIG_MXM_WMI) bool mxm_wmi_supported(void); +#else +static inline bool mxm_wmi_supported(void) +{ + return false; +} +#endif #endif -- 1.7.10 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[PATCH] nouveau: fix build error on IA64
I'm not sure if this is the best way, however it does fix the last 2 allmodconfig errors on IA64: ERROR: "wmi_has_guid" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! ERROR: "wmi_evaluate_method" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- drivers/gpu/drm/nouveau/Kconfig |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig index 97a8126..046bb56 100644 --- a/drivers/gpu/drm/nouveau/Kconfig +++ b/drivers/gpu/drm/nouveau/Kconfig @@ -11,7 +11,7 @@ config DRM_NOUVEAU select FRAMEBUFFER_CONSOLE if !EXPERT select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT - select ACPI_WMI if ACPI + select ACPI_WMI if ACPI && !IA64 select MXM_WMI if ACPI select POWER_SUPPLY help -- 1.7.10 ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [PATCH] nouveau: fix build error on IA64
> - select ACPI_WMI if ACPI > + select ACPI_WMI if ACPI && !IA64 > select MXM_WMI if ACPI Sorry, the MXM_WMI line should also be changed. Although MXM_WMI depends on ACPI_WMI, "select" is dumb and will ignore that dependency.. Thanks, Fengguang --- From: Fengguang Wu Date: Wed, 25 Jul 2012 15:56:35 +0800 Subject: [PATCH] nouveau: fix build error on IA64 I'm not sure if this is the best way, however it does fix these link errors on IA64: ERROR: "wmi_has_guid" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! ERROR: "wmi_evaluate_method" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- drivers/gpu/drm/nouveau/Kconfig |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- linux.orig/drivers/gpu/drm/nouveau/Kconfig 2012-07-25 19:09:37.715358715 +0800 +++ linux/drivers/gpu/drm/nouveau/Kconfig 2012-07-25 22:34:43.775298923 +0800 @@ -11,8 +11,8 @@ config DRM_NOUVEAU select FRAMEBUFFER_CONSOLE if !EXPERT select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT - select ACPI_WMI if ACPI - select MXM_WMI if ACPI + select ACPI_WMI if ACPI && !IA64 + select MXM_WMI if ACPI && !IA64 select POWER_SUPPLY help Choose this option for open-source nVidia support. ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
Re: [vt_console_print/cirrus_dirty_update] WARNING: at kernel/mutex.c:858 mutex_trylock()
Hi Maarten, Thanks for the patch! I'll queue it for the tests. Thanks, Fengguang On Thu, Jun 06, 2013 at 09:23:15AM +0200, Maarten Lankhorst wrote: > Hey, > > Op 06-06-13 03:35, Fengguang Wu schreef: > > Greetings, > > > > I got the below dmesg and the first bad commit is > > > > commit 3d71c6ed43d838e593538176a9a59debe228cfb0 > > Author: Maarten Lankhorst > > Date: Tue Apr 2 12:33:01 2013 +0200 > > > > drm/ttm: convert to the reservation api > > > > Now that the code is compatible in semantics, flip the switch. > > Use ww_mutex instead of the homegrown implementation. > > > > Signed-off-by: Maarten Lankhorst > > > > [ 13.044298] printing local APIC contents on CPU#0/0: > > [ 13.044313] [ cut here ] > > [ 13.044367] WARNING: at /c/kernel-tests/src/tip/kernel/mutex.c:858 > > mutex_trylock+0x87/0x220() > > [ 13.044378] DEBUG_LOCKS_WARN_ON(in_interrupt()) > > [ 13.044378] CPU: 0 PID: 0 Comm: swapper/0 Not tainted > > 3.10.0-rc4-00296-ga2963dd #20 > > [ 13.044379] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 > > [ 13.044390] 0009 88000de039f8 81fc86d5 > > 88000de03a38 > > [ 13.044395] 810d511b 8818 88000f33c690 > > 0001 > > [ 13.044398] 03f0 88000f4677c8 > > 88000de03a98 > > [ 13.044400] Call Trace: > > [ 13.044412][] dump_stack+0x19/0x1b > > [ 13.01] [] warn_slowpath_common+0x6b/0x90 > > [ 13.05] [] warn_slowpath_fmt+0x46/0x50 > > [ 13.08] [] mutex_trylock+0x87/0x220 > > [ 13.044482] [] cirrus_dirty_update+0x1cd/0x330 > > [ 13.044486] [] cirrus_imageblit+0x38/0x50 > > [ 13.044506] [] soft_cursor+0x22e/0x240 > > [ 13.044510] [] bit_cursor+0x581/0x5b0 > > [ 13.044525] [] ? vsnprintf+0x124/0x670 > > [ 13.044529] [] ? get_color.isra.16+0x43/0x130 > > [ 13.044532] [] fbcon_cursor+0x18a/0x1d0 > > [ 13.044535] [] ? update_attr.isra.2+0xa0/0xa0 > > [ 13.044556] [] hide_cursor+0x32/0xa0 > > [ 13.044565] [] vt_console_print+0x103/0x3b0 > > [ 13.044569] [] ? print_time+0x9c/0xb0 > > [ 13.044576] [] ? print_prefix+0xa0/0xc0 > > [ 13.044580] [] > > call_console_drivers.constprop.6+0x146/0x1f0 > > [ 13.044593] [] ? do_raw_spin_unlock+0xc8/0x100 > > [ 13.044597] [] console_unlock+0x2f7/0x460 > > [ 13.044600] [] vprintk_emit+0x59a/0x5e0 > > [ 13.044615] [] printk+0x4d/0x4f > > [ 13.044650] [] print_local_APIC+0x28/0x41c > > [ 13.044672] [] > > generic_smp_call_function_single_interrupt+0x145/0x2b0 > > [ 13.044688] [] > > smp_call_function_single_interrupt+0x27/0x40 > > [ 13.044697] [] > > call_function_single_interrupt+0x72/0x80 > > [ 13.044707][] ? native_safe_halt+0x6/0x10 > > [ 13.044717] [] ? trace_hardirqs_on+0xd/0x10 > > [ 13.044738] [] default_idle+0x59/0x120 > > [ 13.044742] [] arch_cpu_idle+0x18/0x40 > > [ 13.044754] [] cpu_startup_entry+0x235/0x410 > > [ 13.044763] [] rest_init+0xd1/0xe0 > > [ 13.044766] [] ? rest_init+0x5/0xe0 > > [ 13.044778] [] start_kernel+0x425/0x493 > > [ 13.044781] [] ? repair_env_string+0x5e/0x5e > > [ 13.044786] [] x86_64_start_reservations+0x2a/0x2c > > [ 13.044789] [] x86_64_start_kernel+0xf1/0x100 > > [ 13.044799] ---[ end trace 113ad28772af4058 ]--- > Thanks for catching this, I'm uncertain how to proceed here. Can you try > below patch? > > diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c > b/drivers/gpu/drm/cirrus/cirrus_fbdev.c > index 3541b56..b27e956 100644 > --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c > +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c > @@ -25,7 +25,7 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, > struct cirrus_bo *bo; > int src_offset, dst_offset; > int bpp = (afbdev->gfb.base.bits_per_pixel + 7)/8; > - int ret; > + int ret = -EBUSY; > bool unmap = false; > bool store_for_later = false; > int x2, y2; > @@ -39,7 +39,8 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, >* then the BO is being moved and we should >* store up the damage until later. >*/ > - ret = cirrus_bo_reserve(bo, true); > + if (!in_interrupt()) > + ret = cirrus_bo_reserve(bo, true); > if (ret) { > if (ret != -EBUSY) > return; ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm-intel:drm-intel-next-queued 62/62] drivers/gpu/drm/i915/i915_debugfs.c:1959:6: warning: unused variable 'ret'
Hi Daniel, FYI, there are new compile warnings show up in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: ffedf4590c151968e7881e0bbf340da648dfd072 commit: ffedf4590c151968e7881e0bbf340da648dfd072 [62/62] drm/i915: don't grab dev->struct_mutex for userspace forcewak config: x86_64-allmodconfig (attached as .config) All error/warnings: drivers/gpu/drm/i915/i915_debugfs.c: In function 'i915_forcewake_open': drivers/gpu/drm/i915/i915_debugfs.c:1959:6: warning: unused variable 'ret' [-Wunused-variable] vim +1959 drivers/gpu/drm/i915/i915_debugfs.c 1956 { 1957 struct drm_device *dev = inode->i_private; 1958 struct drm_i915_private *dev_priv = dev->dev_private; > 1959 int ret; 1960 1961 if (INTEL_INFO(dev)->gen < 6) 1962 return 0; --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu Intel Corporation -- next part -- # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 3.5.0-rc4 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_CPU_PROBE_RELEASE=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_CONSTRUCTORS=y CONFIG_HAVE_IRQ_WORK=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_FHANDLE=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y CONFIG_AUDIT=y CONFIG_AUDITSYSCALL=y CONFIG_AUDIT_WATCH=y CONFIG_AUDIT_TREE=y CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_HAVE_GENERIC_HARDIRQS=y # # IRQ subsystem # CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_DEBUG=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # # RCU Subsystem # CONFIG_TREE_RCU=y # CONFIG_PREEMPT_RCU is not set CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 CONFIG_RCU_FANOUT_EXACT=y CONFIG_RCU_FAST_NO_HZ=y CONFIG_TREE_RCU_TRACE=y CONFIG_IKCONFIG=m CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CGROUPS=y CONFIG_CGROUP_DEBUG=y CONFIG_CGROUP_FREEZER=y CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y CONFIG_RESOURCE_COUNTERS=y # CONFIG_CGROUP_MEM_RES_CTLR is not set CONFIG_CGROUP_PERF=y CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y CONFIG_CFS_BANDWIDTH=y CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y CONFIG_DEBUG_BLK_CGROUP=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_SCHED_AUTOGROUP=y CONF
[drm-intel:drm-intel-nightly 52/52] drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone'
Hi Daniel, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly head: faee69aa381f507731eb68d263dcd0d446c1fd58 commit: faee69aa381f507731eb68d263dcd0d446c1fd58 [52/52] Merge remote-tracking branch 'origin/drm-intel-fixes' into drm-intel-nightly config: i386-randconfig-b943 (attached as .config) Build errors: drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone' [-Werror=implicit-function-declaration] vim +1330 drivers/gpu/drm/i915/i915_irq.c 1327 1328 pr_err("render error detected, EIR: 0x%08x\n", eir); 1329 > 1330 i915_get_extra_instdone(dev, instdone); 1331 1332 if (IS_G4X(dev)) { 1333 if (eir & (GM45_ERROR_MEM_PRIV | GM45_ERROR_CP_PRIV)) { --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu Intel Corporation -- next part -- # # Automatically generated file; DO NOT EDIT. # Linux/i386 3.6.0-rc3 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y # CONFIG_ZONE_DMA32 is not set # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_32_LAZY_GS=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_HAVE_IRQ_WORK=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # # CONFIG_EXPERIMENTAL is not set CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y # CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set CONFIG_KERNEL_LZO=y CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y # CONFIG_SYSVIPC is not set CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_FHANDLE=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_XACCT=y CONFIG_TASK_IO_ACCOUNTING=y # CONFIG_AUDIT is not set CONFIG_HAVE_GENERIC_HARDIRQS=y # # IRQ subsystem # CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_KTIME_SCALAR=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y # CONFIG_HIGH_RES_TIMERS is not set # # RCU Subsystem # CONFIG_TINY_RCU=y # CONFIG_PREEMPT_RCU is not set # CONFIG_TREE_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CHECKPOINT_RESTORE=y # CONFIG_NAMESPACES is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_ANON_INODES=y CONFIG_EXPERT=y # CONFIG_UID16 is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y # CONFIG_HOTPLUG is not set CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_HAVE_PCSPKR_PLATFORM=y # CONFIG_BASE_FULL is not set CONFIG_FUTEX=y CONFIG_EPOLL=y # CONFIG_SIGNALFD is not set # CONFIG_TIMERFD is not set # CONFIG_EVENTFD is not set CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y # CONFIG_VM_EVENT_COUNTERS is not set CONFIG_PCI_QUIRKS=y # CONFIG_SLUB_DEBUG is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_PROFI
[drm-intel:drm-intel-nightly 52/52] drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone'
On Fri, Aug 31, 2012 at 10:47:59AM +0200, Daniel Vetter wrote: > On Fri, Aug 31, 2012 at 8:55 AM, Fengguang Wu > wrote: > > Hi Daniel, > > > > FYI, kernel build failed on > > > > tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly > > head: faee69aa381f507731eb68d263dcd0d446c1fd58 > > commit: faee69aa381f507731eb68d263dcd0d446c1fd58 [52/52] Merge > > remote-tracking branch 'origin/drm-intel-fixes' into drm-intel-nightly > > config: i386-randconfig-b943 (attached as .config) > > > > Build errors: > > > > drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of > > function 'i915_get_extra_instdone' [-Werror=implicit-function-declaration] > > Hm, seems to compile fine here and afaict the function declaration > also exists in that file. Can you please double-check? Daniel, It's too late here and I'm traveling these days, I'll check it some time later. It may well be some bug in the build or test system. Sorry for the noise! Thanks, Fengguang > Fyi I've checked this on: > > commit faee69aa381f507731eb68d263dcd0d446c1fd58 > Merge: 0e0428b 0fb8728 > Author: Daniel Vetter > Date: Thu Aug 30 11:09:53 2012 +0200 > > Merge remote-tracking branch 'origin/drm-intel-fixes' into > drm-intel-nightly > > Thanks, Daniel > > > > > vim +1330 drivers/gpu/drm/i915/i915_irq.c > > 1327 > > 1328 pr_err("render error detected, EIR: 0x%08x\n", eir); > > 1329 > >> 1330 i915_get_extra_instdone(dev, instdone); > > 1331 > > 1332 if (IS_G4X(dev)) { > > 1333 if (eir & (GM45_ERROR_MEM_PRIV | > > GM45_ERROR_CP_PRIV)) { > > > > --- > > 0-DAY kernel build testing backend Open Source Technology Centre > > Fengguang Wu Intel Corporation > > > > -- > Daniel Vetter > daniel.vetter at ffwll.ch - +41 (0) 79 365 57 48 - http://blog.ffwll.ch
[drm-intel:drm-intel-nightly 52/52] drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of function 'i915_get_extra_instdone'
On Fri, Aug 31, 2012 at 10:47:59AM +0200, Daniel Vetter wrote: > On Fri, Aug 31, 2012 at 8:55 AM, Fengguang Wu > wrote: > > Hi Daniel, > > > > FYI, kernel build failed on > > > > tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly > > head: faee69aa381f507731eb68d263dcd0d446c1fd58 > > commit: faee69aa381f507731eb68d263dcd0d446c1fd58 [52/52] Merge > > remote-tracking branch 'origin/drm-intel-fixes' into drm-intel-nightly > > config: i386-randconfig-b943 (attached as .config) > > > > Build errors: > > > > drivers/gpu/drm/i915/i915_irq.c:1330:2: error: implicit declaration of > > function 'i915_get_extra_instdone' [-Werror=implicit-function-declaration] > > Hm, seems to compile fine here and afaict the function declaration > also exists in that file. Can you please double-check? Daniel, it turns out that the function was sitting in an '#ifdef CONFIG_DEBUG_FS' block.. Thanks, Fengguang
general protection fault on ttm_init()
Hi Thomas, I got this error while running kvm boot tests on linux-next. Attached is the kconfig. [7.064962] [drm:drm_core_init] *ERROR* Cannot create /proc/dri [7.067443] general protection fault: [#1] PREEMPT [7.068713] CPU 0 [7.068713] Pid: 1, comm: swapper Not tainted 3.5.0-rc5-07204-g646e30b #8 Bochs Bochs [7.068713] RIP: 0010:[] [] __lock_acquire.isra.19+0x64/0x7c9 [7.068713] RSP: 0018:8806fd10 EFLAGS: 00010097 [7.068713] RAX: RBX: 8807 RCX: [7.068713] RDX: RSI: RDI: a56b6b6b6b6b6e73 [7.068713] RBP: 8806fd80 R08: R09: [7.068713] R10: R11: R12: 0246 [7.068713] R13: R14: R15: a56b6b6b6b6b6e73 [7.068713] FS: () GS:81a24000() knlGS: [7.068713] CS: 0010 DS: ES: CR0: 8005003b [7.068713] CR2: CR3: 01a12000 CR4: 06f0 [7.068713] DR0: DR1: DR2: [7.068713] DR3: DR6: 0ff0 DR7: 0400 [7.068713] Process swapper (pid: 1, threadinfo 8806e000, task 8807) [7.068713] Stack: [7.068713] 0046 8806fd50 81c40020 [7.068713] 8105d409 8806fd90 [7.068713] 8806fde0 8807 0246 881c0ab8 [7.068713] Call Trace: [7.068713] [] ? mutex_remove_waiter+0x6a/0x7e [7.068713] [] lock_acquire+0x5b/0x78 [7.068713] [] ? get_device_parent+0x98/0x1b0 [7.068713] [] _raw_spin_lock+0x3c/0x6f [7.068713] [] ? get_device_parent+0x98/0x1b0 [7.068713] [] get_device_parent+0x98/0x1b0 [7.068713] [] device_add+0xf4/0x589 [7.068713] [] ? drm_core_init+0xca/0xca [7.068713] [] ? pm_runtime_init+0xfa/0xfe [7.068713] [] ? drm_core_init+0xca/0xca [7.068713] [] device_register+0x16/0x1a [7.068713] [] drm_class_device_register+0x17/0x19 [7.068713] [] ttm_init+0x37/0x62 [7.068713] [] do_one_initcall+0x78/0x131 [7.068713] [] kernel_init+0xf4/0x178 [7.068713] [] ? loglevel+0x31/0x31 [7.068713] [] kernel_thread_helper+0x4/0x10 [7.068713] [] ? do_one_initcall+0x131/0x131 [7.068713] [] ? gs_change+0x13/0x13 [7.068713] Code: 49 89 ff 41 89 f5 0f 85 fe 06 00 00 9c 58 66 66 90 66 90 f6 c4 02 0f 84 ee 06 00 00 e8 2b 00 0e 00 31 c0 e9 59 07 00 00 44 89 e8 <4d> 8b 64 c7 08 4d 85 e4 0f 85 04 03 00 00 83 3d 20 7c 18 01 00 [7.068713] RIP [] __lock_acquire.isra.19+0x64/0x7c9 [7.068713] RSP [7.068713] ---[ end trace 6e1803df9f758306 ]--- [7.068713] Kernel panic - not syncing: Fatal exception Thanks, Fengguang -- next part -- [0.00] Linux version 3.5.0-rc5-07204-g646e30b (wfg at bee) (gcc version 4.7.0 (Debian 4.7.1-1) ) #8 PREEMPT Fri Jul 6 22:35:45 CST 2012 [0.00] Command line: rcutorture.rcutorture_runnable=0 tree=mm:akpm auth_hashtable_size=10 sunrpc.auth_hashtable_size=10 log_buf_len=8M ignore_loglevel debug sched_debug apic=debug dynamic_printk sysrq_always_enabled panic=10 hung_task_panic=1 softlockup_panic=1 unknown_nmi_panic=1 nmi_watchdog=panic,lapic load_ramdisk=2 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal ip=kvm::dhcp nfsroot=10.239.97.14:/nfsroot/wfg,tcp,v3,nocto,actimeo=600,nolock,rsize=524288,wsize=524288 rw link=vmlinuz-2012-07-06-22-36-01-mm-origin.akpm-dece410-646e30b-x86_64-randconfig-mm3-1 BOOT_IMAGE=kernel-tests/kernels/x86_64-randconfig-mm3/646e30b5919c3a3424f981cb66b932dbfa8563ce/vmlinuz-3.5.0-rc5-07204-g646e30b [0.00] Disabled fast string operations [0.00] e820: BIOS-provided physical RAM map: [0.00] NX (Execute Disable) protection: active [0.00] DMI 2.4 present. [0.00] e820: last_pfn = 0x1fffd max_arch_pfn = 0x4 [0.00] x86 PAT enabled: cpu 0, old 0x0, new 0x7010600070106 [0.00] init_memory_mapping: [mem 0x-0x1fffcfff] [0.00] RAMDISK: [mem 0x1e8d6000-0x1ffe] [0.00] kvm-clock: cpu 0, msr 0:1a2e841, boot clock [0.00] Zone ranges: [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x0001-0x0009efff] [0.00] node 0: [mem 0x0010-0x1fffcfff] [0.00] ACPI: PM-Timer IO Port: 0xb008 [0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [0.00] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) [0.00] ACPI: NR_CPUS/possible_cpus limit of 1 reached. Processor 1/0x1 ignored. [0.00] ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0]) [0.00] IOAPIC[0]: apic_id 2, version 17, address 0xf
general protection fault on ttm_init()
... The missed kconfig. On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > Hi Thomas, > > I got this error while running kvm boot tests on linux-next. > Attached is the kconfig. > > [7.064962] [drm:drm_core_init] *ERROR* Cannot create /proc/dri > [7.067443] general protection fault: [#1] PREEMPT > [7.068713] CPU 0 > [7.068713] Pid: 1, comm: swapper Not tainted 3.5.0-rc5-07204-g646e30b #8 > Bochs Bochs > [7.068713] RIP: 0010:[] [] > __lock_acquire.isra.19+0x64/0x7c9 -- next part -- # # Automatically generated file; DO NOT EDIT. # Linux/x86_64 3.5.0-rc5 Kernel Configuration # CONFIG_64BIT=y # CONFIG_X86_32 is not set CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_HAVE_IRQ_WORK=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # # CONFIG_EXPERIMENTAL is not set CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SYSVIPC=y CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_FHANDLE is not set CONFIG_TASKSTATS=y # CONFIG_TASK_DELAY_ACCT is not set # CONFIG_TASK_XACCT is not set CONFIG_AUDIT=y # CONFIG_AUDITSYSCALL is not set CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_HAVE_GENERIC_HARDIRQS=y # # IRQ subsystem # CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y # CONFIG_HIGH_RES_TIMERS is not set # # RCU Subsystem # CONFIG_TINY_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y # CONFIG_TREE_RCU_TRACE is not set CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_PRIO=1 CONFIG_RCU_BOOST_DELAY=500 # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y # CONFIG_CGROUPS is not set CONFIG_CHECKPOINT_RESTORE=y # CONFIG_NAMESPACES is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_MM_OWNER is not set CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y # CONFIG_RELAY is not set CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y # CONFIG_RD_BZIP2 is not set # CONFIG_RD_LZMA is not set # CONFIG_RD_XZ is not set # CONFIG_RD_LZO is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_ANON_INODES=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y # CONFIG_HOTPLUG is not set CONFIG_PRINTK=y # CONFIG_BUG is not set CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BASE_FULL=y # CONFIG_FUTEX is not set # CONFIG_EPOLL is not set # CONFIG_SIGNALFD is not set CONFIG_TIMERFD=y CONFIG_EVENTFD=y # CONFIG_SHMEM is not set CONFIG_AIO=y CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # CONFIG_PERF_EVENTS=y CONFIG_DEBUG_PERF_USE_VMALLOC=y # CONFIG_VM_EVENT_COUNTERS is not set # CONFIG_PCI_QUIRKS is not set CONFIG_SLUB_DEBUG=y CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set CONFIG_PROFILING=y CONFIG_OPROFILE=y # CONFIG_O
general protection fault on ttm_init()
On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu > > wrote: > >> ... The missed kconfig. > >> > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > >>> Hi Thomas, > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > looks like the error path is failing to dtrt. > > I've attached a patch that should fix it, let me know if it works. It does not work.. The dmesg (attached) remains the same. > though since the drm fails on proc not being there I wonder should we > just enforce proc being there if you pick drm. Yeah, enabling PROC_FS does fix the error :) Thanks, Fengguang -- next part -- [0.00] Linux version 3.5.0-rc2-00059-gc5fb75a-dirty (wfg at wfg-t420) (gcc version 4.7.0 (Debian 4.7.0-10) ) #3 PREEMPT Sat Jul 7 09:42:37 CST 2012 [0.00] Command line: console=ttyS0,115200 console=tty nokeymap root=/dev/ram0 rw [0.00] e820: BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x0009f3ff] usable [0.00] BIOS-e820: [mem 0x0009f400-0x0009] reserved [0.00] BIOS-e820: [mem 0x000f-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0x1fffcfff] usable [0.00] BIOS-e820: [mem 0x1fffd000-0x1fff] reserved [0.00] BIOS-e820: [mem 0xfeffc000-0xfeff] reserved [0.00] BIOS-e820: [mem 0xfffc-0x] reserved [0.00] NX (Execute Disable) protection: active [0.00] DMI 2.4 present. [0.00] e820: last_pfn = 0x1fffd max_arch_pfn = 0x4 [0.00] x86 PAT enabled: cpu 0, old 0x70406, new 0x7010600070106 [0.00] init_memory_mapping: [mem 0x-0x1fffcfff] [0.00] RAMDISK: [mem 0x1e8d6000-0x1ffe] [0.00] ACPI: RSDP 000fd9a0 00014 (v00 BOCHS ) [0.00] ACPI: RSDT 1fffd7b0 00034 (v01 BOCHS BXPCRSDT 0001 BXPC 0001) [0.00] ACPI: FACP 1f80 00074 (v01 BOCHS BXPCFACP 0001 BXPC 0001) [0.00] ACPI: DSDT 1fffd9b0 02589 (v01 BXPC BXDSDT 0001 INTL 20100528) [0.00] ACPI: FACS 1f40 00040 [0.00] ACPI: SSDT 1fffd910 0009E (v01 BOCHS BXPCSSDT 0001 BXPC 0001) [0.00] ACPI: APIC 1fffd830 00072 (v01 BOCHS BXPCAPIC 0001 BXPC 0001) [0.00] ACPI: HPET 1fffd7f0 00038 (v01 BOCHS BXPCHPET 0001 BXPC 0001) [0.00] kvm-clock: Using msrs 4b564d01 and 4b564d00 [0.00] kvm-clock: cpu 0, msr 0:1a2cc81, boot clock [0.00] Zone ranges: [0.00] DMA32[mem 0x0001-0x] [0.00] Normal empty [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x0001-0x0009efff] [0.00] node 0: [mem 0x0010-0x1fffcfff] [0.00] ACPI: PM-Timer IO Port: 0xb008 [0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [0.00] ACPI: IOAPIC (id[0x01] address[0xfec0] gsi_base[0]) [0.00] IOAPIC[0]: apic_id 1, version 17, address 0xfec0, GSI 0-23 [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) [0.00] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) [0.00] Using ACPI (MADT) for SMP configuration information [0.00] ACPI: HPET id: 0x8086a201 base: 0xfed0 [0.00] KVM setup async PF for cpu 0 [0.00] kvm-stealtime: cpu 0, msr 1a2cc00 [0.00] e820: [mem 0x2000-0xfeffbfff] available for PCI devices [0.00] Booting paravirtualized kernel on KVM [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 128902 [0.00] Kernel command line: [0.00] PID hash table entries: 2048 (order: 2, 16384 bytes) [0.00] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes) [0.00] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes) [0.00] __ex_table already sorted, skipping sort [0.00] Memory: 469120k/524276k available (5504k kernel code, 452k absent, 54704k reserved, 7636k data, 820k init) [0.00] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [0.00] NR_IRQS:4352 nr_irqs:256 16 [0.00] console [ttyS0] enabled [0.00] Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar [0.00] ... MAX_LOCKDEP_SUB
general protection fault on ttm_init()
On Sat, Jul 07, 2012 at 10:08:47AM +0800, Fengguang Wu wrote: > On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu > > > wrote: > > >> ... The missed kconfig. > > >> > > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > > >>> Hi Thomas, > > > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > > looks like the error path is failing to dtrt. > > > > I've attached a patch that should fix it, let me know if it works. > > It does not work.. The dmesg (attached) remains the same. I got more interesting back traces in a clean kernel: device class 'drm': registering kobject: 'drm' (88000f07f050): kobject_add_internal: parent: 'class', set: 'class' kobject: 'drm' (88000f07f050): kobject_uevent_env kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' [drm:drm_core_init] *ERROR* Cannot create /proc/dri device class 'drm': unregistering kobject: 'drm' (88000f07f050): kobject_cleanup kobject: 'drm' (88000f07f050): auto cleanup 'remove' event kobject: 'drm' (88000f07f050): kobject_uevent_env kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' kobject: 'drm' (88000f07f050): auto cleanup kobject_del kobject: 'drm' (88000f07f050): calling ktype release class 'drm': release. class_create_release called for drm kobject: 'drm': free name kobject: 'drm' (88000f080070): kobject_cleanup kobject: 'drm' (88000f080070): calling ktype release kobject: 'drm': free name device: 'ttm': device_add kobject: '(null)' (88000f080230): kobject_add_internal: parent: 'virtual', set: '(null)' kobject: 'ttm' (824709b0): kobject_add_internal: parent: '(null)', set: 'devices' general protection fault: [#1] SMP CPU 1 Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 RIP: 0010:[] [] sysfs_do_create_link+0x59/0x1c0 RSP: 0018:88107db0 EFLAGS: 00010206 RAX: 8810 RBX: 00cc RCX: dad9 RDX: d9d9 RSI: RDI: 8243b320 RBP: 88107e00 R08: 88100580 R09: fe80 R10: 8810 R11: 0200 R12: 821622db R13: 88000f080150 R14: 0001 R15: 88000f080308 FS: () GS:88000df0() knlGS: CS: 0010 DS: ES: CR0: 8005003b CR2: CR3: 02411000 CR4: 06a0 DR0: DR1: DR2: DR3: DR6: 0ff0 DR7: 0400 Process swapper/0 (pid: 1, threadinfo 88106000, task 8810) Stack: 88000f080308 824709b0 02ec 824709b0 02ec 824709a0 88107e10 8115ecce Call Trace: [] sysfs_create_link+0xe/0x10 [] device_add+0x289/0x610 [] ? drm_core_init+0xca/0xca [] ? device_pm_init+0x69/0x90 [] ? drm_core_init+0xca/0xca [] device_register+0x19/0x20 [] drm_class_device_register+0x17/0x20 [] ttm_init+0x37/0x62 [] do_one_initcall+0x7a/0x139 [] kernel_init+0x103/0x187 [] ? do_early_param+0x8c/0x8c [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0x13/0x13 [] ? do_one_initcall+0x139/0x139 [] ? gs_change+0x13/0x13 Code: 4c 8b 7f 30 bb f2 ff ff ff 4d 85 ff 0f 84 a2 00 00 00 48 c7 c7 20 b3 43 82 e8 c4 e2 b6 00 49 8b 5d 30 48 85 db 0f 84 27 01 00 00 <8b> 03 f0 ff 03 48 c7 c7 20 b3 43 82 e8 d6 e3 b6 00 4c 89 e7 ba RIP [] sysfs_do_create_link+0x59/0x1c0 RSP and: kobject: 'drm': free name device: 'ttm': device_add BUG: unable to handle kernel paging request at 00010001 IP: [] strnlen+0xd/0x40 PGD 0 Oops: [#1] SMP CPU 1 Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 RIP: 0010:[] [] strnlen+0xd/0x40 RSP: 0018:88107c30 EFLAGS: 00010286 RAX: 8210a8fc RBX: RCX: fffe RDX: 00010001 RSI: RDI: 00010001 RBP: 88107c30 R08: R09: R10: 88000f0750f0 R11: 824384e0 R12: 00010001 R13: R14: R15: FS: () GS:88000df0() knlGS: CS: 0010 DS: ES: CR0: 8005003b CR2: 00010001 CR3: 02411000 CR4: 06a0 DR0: DR1
Re: drm/sysfs lifetime interaction fixes
On Sat, Oct 12, 2013 at 07:47:05AM +1000, Dave Airlie wrote: > >> > >> This is my preferred method of fixing it as I don't think the lifetimes > >> need > >> to be tied so closely, though this requires review my someone to make sure > >> my unregistering etc is correct and in the right place. > > > > Apparently this fixes the problem for Fengguang, and the code looks > > cleaner too. Thanks, > > Leaves the fixes or next question, since I suppose its not technically > a regression, -next is probably fine, let me know if you'd l like them > earlier. Dave, I tested the two patches on top of drm-next and find that it does help eliminate the lots of oops messages in the below kernels. However in the 2nd config, the patched kernel has one new oops type than its base kernels (6aba5b6 and v3.12-rc3). v3.12-rc4 is also tested for your reference. In the 3nd config, both patched and base kernels have that oops: [ 96.969429] init: plymouth-upstart-bridge main process (309) terminated with status 1 * Asking all remaining processes to terminate... [ 97.260371] BUG: Bad page map in process killall5 pte:4f426de0 pmd:0f4f4067 [ 97.261114] addr:3fc0 vm_flags:00100173 anon_vma:4f4066c0 mapping: (null) index:3ffe6 [ 97.261912] CPU: 0 PID: 334 Comm: killall5 Not tainted 3.12.0-rc3-00156-gdaeb5e3 #1 [ 97.262633] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 97.263192] 3fc0 4f4c1e14 4212e45c 4fbff9a0 4f4c1e4c 411a9c4b 4262ade0 3fc0 [ 97.264051] 00100173 4f4066c0 0003ffe6 4f426de0 0003ffe6 4fbff9a0 [ 97.264906] 3fc0 3fc0 4f4c1e60 411ab50e 4f464000 4f4c1ed0 [ 97.265751] Call Trace: [ 97.266022] [<4212e45c>] dump_stack+0xbb/0x14b [ 97.266456] [<411a9c4b>] print_bad_pte+0x28b/0x2c0 [ 97.266931] [<411ab50e>] vm_normal_page+0xae/0xe0 [ 97.267388] [<411b37f3>] munlock_vma_pages_range+0x143/0x320 [ 97.267950] [<410d30fd>] ? sched_clock_cpu+0x20d/0x250 [ 97.268451] [<411bacee>] exit_mmap+0x7e/0x200 [ 97.268893] [<4131de9c>] ? __const_udelay+0x2c/0x40 [ 97.269369] [<410adf28>] ? __rcu_read_unlock+0x68/0x150 [ 97.269888] [<4123227b>] ? exit_aio+0x11b/0x280 [ 97.270412] [<4123217c>] ? exit_aio+0x1c/0x280 [ 97.270892] [<410829c7>] ? do_exit+0x697/0x1280 [ 97.271332] [<4107a1a1>] mmput+0x81/0x170 [ 97.271726] [<410829dc>] do_exit+0x6ac/0x1280 [ 97.272166] [<410bad75>] ? hrtimer_nanosleep+0x1f5/0x210 [ 97.272679] [<4215328a>] ? sysenter_exit+0xf/0x45 [ 97.273151] [<41083751>] do_group_exit+0x131/0x160 [ 97.273617] [<410837ad>] SyS_exit_group+0x2d/0x30 [ 97.274088] [<42153251>] sysenter_do_call+0x12/0x3c [ 97.274560] Disabling lock debugging due to kernel taint * All processes ended within 1 seconds That oops message looks very like the one I reported for this commit. commit 7a8010cd36273ff5f6fea5201ef9232f30cebbd9 Author: Vlastimil Babka Date: Wed Sep 11 14:22:35 2013 -0700 mm: munlock: manual pte walk in fast path instead of follow_page_mask() Vlastimil Babka, has this bug been fixed in -rc4? Thanks, Fengguang --- patch 2 daeb5e3 drm/sysfs: sort out minor and connector device object lifetimes. patch 1 b4dcbb3 drm/i915: abstract the conversion of device->minor out to a macro drm-next 6aba5b6 drm/i915/dp: get rid of intel_dp->link_configuration /kernel/x86_64-randconfig-j3-1009/daeb5e37165e2ad745d1d2d5d7ab32ad9cb08f1a +---+---+---+--+--+ | | v3.12-rc3 | v3.12-rc4 | 6aba5b6cf098 | daeb5e37165e | +---+---+---+--+--+ | has_kernel_error_warning | 161 | 60| 109 | 3| | WARNING:CPU:PID:at_fs/sysfs/dir.c:sysfs_add_one() | 161 | 60| 109 | | | WARNING:CPU:PID:at_lib/kobject.c:kobject_add_internal() | 161 | 60| 109 | | | WARNING:CPU:PID:at_drivers/base/driver.c:driver_unregister() | 161 | 60| 109 | | | WARNING:CPU:PID:at_lib/debugobjects.c:debug_print_object()| 161 | 60| 109 | | | WARNING:CPU:PID:at_arch/x86/kernel/irq_64.c:handle_irq() | 10 | 3 | 6| | | BUG:unable_to_handle_kernel_NULL_pointer_dereference_at | 158 | 59| 109 | | | Oops:DEBUG_PAGEALLOC | 92 | 28| 64 | | | WARNING:CPU:PID:at_lib/list_debug.c:__list_del_entry()| 92 | 28| 64 | | | BUG:scheduling_while_
Re: drm/sysfs lifetime interaction fixes
> >[ 97.260371] BUG: Bad page map in process killall5 pte:4f426de0 > >pmd:0f4f4067 > >[ 97.261114] addr:3fc0 vm_flags:00100173 anon_vma:4f4066c0 mapping: > >(null) index:3ffe6 > >[ 97.261912] CPU: 0 PID: 334 Comm: killall5 Not tainted > >3.12.0-rc3-00156-gdaeb5e3 #1 > >[ 97.262633] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 > >[ 97.263192] 3fc0 4f4c1e14 4212e45c 4fbff9a0 4f4c1e4c 411a9c4b > >4262ade0 3fc0 > >[ 97.264051] 00100173 4f4066c0 0003ffe6 4f426de0 0003ffe6 > > 4fbff9a0 > >[ 97.264906] 3fc0 3fc0 4f4c1e60 411ab50e 4f464000 > > 4f4c1ed0 > >[ 97.265751] Call Trace: > >[ 97.266022] [<4212e45c>] dump_stack+0xbb/0x14b > >[ 97.266456] [<411a9c4b>] print_bad_pte+0x28b/0x2c0 > >[ 97.266931] [<411ab50e>] vm_normal_page+0xae/0xe0 > >[ 97.267388] [<411b37f3>] munlock_vma_pages_range+0x143/0x320 > >[ 97.267950] [<410d30fd>] ? sched_clock_cpu+0x20d/0x250 > >[ 97.268451] [<411bacee>] exit_mmap+0x7e/0x200 > Yes, this should have been fixed by commit eadb41ae82f80210 > "mm/mlock.c: prevent walking off the end of a pagetable in no-pmd > configuration", merged between rc3 and rc4. Great, thanks! This explains why only v3.12-rc4 is free from the bug in the below config. /kernel/i386-randconfig-i003-1011/daeb5e37165e2ad745d1d2d5d7ab32ad9cb08f1a +-+---+---+--+--+ | | v3.12-rc3 | v3.12-rc4 | 6aba5b6cf098 | daeb5e37165e | +-+---+---+--+--+ | good_boots | 1088 | 1092 | 1070 | 1043 | | has_kernel_error_warning| 42| 71| 40 | 67 | | BUG:kernel_early_hang_without_any_printk_output | 37| 71| 36 | 59 | | BUG:Bad_page_map_in_process_killall5_pte:pmd| 5 | 0 | 4 | 8| +-+---+---+--+--+ Thanks, Fengguang ___ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
[drm] WARNING: CPU: 0 PID: 0 at kernel/locking/mutex.c:516 mutex_lock_nested()
Hi David, I got the below dmesg and the first bad commit is git://people.freedesktop.org/~dvdhrm/linux drm-log commit 06bdc9aa3cd3a045b4a94bdc4c6c582338cf7992 Author: David Herrmann AuthorDate: Wed Mar 5 17:34:49 2014 +0100 Commit: David Herrmann CommitDate: Fri Mar 7 11:50:20 2014 +0100 drm: add kernel-log renderer +-++++ | | 32afb1337b | 06bdc9aa3c | 05ffd9cb67 | +-++++ | boot_successes | 56 | 0 | 0 | | boot_failures | 4 | 20 | 19 | | BUG:unable_to_handle_kernel_NULL_pointer_dereference| 1 ||| | Oops:SMP| 1 ||| | EIP_is_at_reset_interrupt | 1 ||| | Kernel_panic-not_syncing:Fatal_exception| 1 ||| | WARNING:CPU:PID:at_arch/x86/kernel/cpu/amd.c:init_amd() | 3 | 0 | 2 | | backtrace:init_amd | 3 | 0 | 2 | | backtrace:warn_slowpath_fmt | 3 | 0 | 2 | | WARNING:CPU:PID:at_kernel/locking/mutex.c:mutex_lock_nested() | 0 | 7 | 8 | | BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/mutex.c | 0 | 20 | 19 | | INFO:lockdep_is_turned_off | 0 | 7 | 10 | | backtrace:ring_buffer_consumer_thread | 0 | 2 | 1 | | backtrace:vfs_read | 0 | 15 | 13 | | backtrace:SyS_read | 0 | 15 | 13 | | backtrace:cpu_startup_entry | 0 | 5 | 6 | | backtrace:serio_handle_event| 0 | 5 | 6 | | backtrace:ring_buffer_producer_thread | 0 | 0 | 1 | | backtrace:do_group_exit | 0 | 0 | 1 | | backtrace:SyS_exit_group| 0 | 0 | 1 | +-++++ [ 12.906820] ... PIC ELCR: 0c00 [ 12.909878] printing local APIC contents on CPU#0/0: [ 12.910508] [ cut here ] [ 12.910521] WARNING: CPU: 0 PID: 0 at kernel/locking/mutex.c:516 mutex_lock_nested+0xc7/0x430() [ 12.910523] DEBUG_LOCKS_WARN_ON(in_interrupt()) [ 12.910524] Modules linked in: [ 12.910532] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.0-rc5-00558-g05ffd9c #230 [ 12.910539] 79c05d64 798860ec 79c05da4 79c05d94 790414ee 79b1a074 [ 12.910544] 79c05dc0 79b1fbf8 0204 79892017 79892017 79c499a0 0001 [ 12.910549] 79c096e0 79c05dac 79041543 0009 79c05da4 79b1a074 79c05dc0 79c05e08 [ 12.910550] Call Trace: [ 12.910557] [<798860ec>] dump_stack+0x48/0x60 [ 12.910566] [<790414ee>] warn_slowpath_common+0x7e/0xa0 [ 12.910570] [<79892017>] ? mutex_lock_nested+0xc7/0x430 [ 12.910572] [<79892017>] ? mutex_lock_nested+0xc7/0x430 [ 12.910577] [<79041543>] warn_slowpath_fmt+0x33/0x40 [ 12.910579] [<79892017>] mutex_lock_nested+0xc7/0x430 [ 12.910592] [<7939d718>] ? io_serial_in+0x8/0x20 [ 12.910595] [<7939e3a2>] ? wait_for_xmitr+0x22/0x90 [ 12.910606] [<793d7744>] ? drm_log_write+0xb4/0xe0 [ 12.910613] [<79093ac2>] ? do_raw_spin_unlock+0xb2/0xe0 [ 12.910616] [<793d7700>] ? drm_log_write+0x70/0xe0 [ 12.910618] [<793d7744>] drm_log_write+0xb4/0xe0 [ 12.910621] [<7939e50a>] ? serial8250_console_write+0xfa/0x120 [ 12.910623] [<7939e530>] ? serial8250_console_write+0x120/0x120 [ 12.910627] [<793d7783>] dlog_con_write+0x13/0x20 [ 12.910630] [<79097a53>] call_console_drivers.constprop.8+0x133/0x1b0 [ 12.910633] [<79098018>] console_unlock+0x328/0x4c0 [ 12.910637] [<790987fa>] vprintk_emit+0x64a/0x680 [ 12.910640] [<7988273
[pci] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_crtc.c:94 drm_warn_on_modeset_not_all_locked()
// CC Stephane for RAPL related bug Bjorn, sorry this bug report is mis-titled. The only new bug that show up in aa11fc58dc is on rapl_pmu_init. And it shows up only 1 time, so it's hard to reproduce and the bisect is likely not accurate. I'll retry the bisect with more repeat count. Sorry for the disturbing! [2.812392] Unpacking initramfs... [2.812392] Unpacking initramfs... [4.937582] Freeing initrd memory: 3276K (93cbd000 - 93ff) [4.937582] Freeing initrd memory: 3276K (93cbd000 - 93ff) [4.952113] BUG: unable to handle kernel [4.952113] BUG: unable to handle kernel NULL pointer dereferenceNULL pointer dereference at 003c at 003c [4.952871] IP: [4.952871] IP: [<81c439fb>] rapl_pmu_init+0xed/0x165 [<81c439fb>] rapl_pmu_init+0xed/0x165 [4.954190] *pde = [4.954190] *pde = [4.954619] Oops: [#1] [4.954619] Oops: [#1] [4.955440] CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.0-rc1-00023-gaa11fc5 #1 [4.955440] CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.0-rc1-00023-gaa11fc5 #1 [4.956050] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [4.956050] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [4.956672] task: 80030c20 ti: 80032000 task.ti: 80032000 [4.956672] task: 80030c20 ti: 80032000 task.ti: 80032000 [4.957295] EIP: 0060:[<81c439fb>] EFLAGS: 0246 CPU: 0 [4.957295] EIP: 0060:[<81c439fb>] EFLAGS: 0246 CPU: 0 [4.957831] EIP is at rapl_pmu_init+0xed/0x165 [4.957831] EIP is at rapl_pmu_init+0xed/0x165 Full dmesg attached. Thanks, Fengguang On Thu, Mar 20, 2014 at 04:50:08PM -0600, Bjorn Helgaas wrote: > On Thu, Mar 20, 2014 at 6:41 AM, Fengguang Wu > wrote: > > Greetings, > > > > I got the below dmesg and the first bad commit is > > > > git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/resource > > > > commit aa11fc58dc71c27701b1f9a529a36a38d4337722 > > Author: Bjorn Helgaas > > AuthorDate: Fri Mar 7 13:39:01 2014 -0700 > > Commit: Bjorn Helgaas > > CommitDate: Wed Mar 19 15:00:16 2014 -0600 > > > > PCI: Check all IORESOURCE_TYPE_BITS in pci_bus_alloc_from_region() > > > > When allocating space from a bus resource, i.e., from apertures leading > > to > > this bus, make sure the entire resource type matches. The previous code > > assumed the IORESOURCE_TYPE_BITS field was a bitmask with only a single > > bit > > set, but this is not true. IORESOURCE_TYPE_BITS is really an > > enumeration, > > and we have to check all the bits. > > > > See 72dcb1197228 ("resources: Add register address resource type"). > > > > No functional change. If we used this path for allocating IRQs, DMA > > channels, or bus numbers, this would fix a bug because those types are > > indistinguishable when masked by IORESOURCE_IO | IORESOURCE_MEM. But we > > don't, so this shouldn't make any difference. > > > > Signed-off-by: Bjorn Helgaas > > Thanks (I think). I'm afraid I'm going to need some more help to > debug this. I built aa11fc58dc with the config you supplied and > booted it on qemu with no real issues (it didn't boot all the way > because the config doesn't include a driver for my root disk, but > that's to be expected). > > The dmesg you supplied is for some other commit 2d18516 that I don't > have, so I'm confused about why it's not from aa11fc58dc. > > I did reproduce what appears to be basically the same problem with > a654dc797f3e, which is the 20140320 linux-next tree. I backed up to > 93ecdc077282, which is where pci/next was merged (this includes > aa11fc58dc), but I could not reproduce the problem there. > > So bottom line, I'm confused because your bisection doesn't match what > I'm seeing, and I don't want to spend more time flailing around. > > Bjorn > > > > ++++ > > | > > | aa11fc58dc | 2d18516523 | > > ++++ > > | boot_successes > > | 19 | 0 | > > | boot_failures > > | 1 | 19 | >
[pci] WARNING: CPU: 0 PID: 1 at drivers/gpu/drm/drm_crtc.c:94 drm_warn_on_modeset_not_all_locked()
Hi Bjorn, On Fri, Mar 21, 2014 at 12:42:33PM -0600, Bjorn Helgaas wrote: > On Thu, Mar 20, 2014 at 8:09 PM, Fengguang Wu > wrote: > > // CC Stephane for RAPL related bug > > > > Bjorn, sorry this bug report is mis-titled. The only new bug that show > > up in aa11fc58dc is on rapl_pmu_init. And it shows up only 1 time, so > > it's hard to reproduce and the bisect is likely not accurate. I'll > > retry the bisect with more repeat count. Sorry for the disturbing! > > This testing is potentially very useful, but only if we don't have > many false positives. I spent a lot of time trying to figure this > out, and it turned out not to be a problem at all. I'm sorry for the false report! I'll be careful and improve the process. Currently there are many false positives in our internal boot error bisects. And we rely on human reviews to select good bisects out of the noises. In this case both the script and me made mistakes, which lead to the wrong report. > As a procedural question, can you help me figure out how to handle a > report like this? What I *hoped* for would be: > > - the config you used Yes. > - the dmesg log from the newest good commit I'll attach it if the first bad commit's parent commit(s) has some noise errors. In this case it may help decide whether the bisect is wrong: in some cases one bug will hide another one; or the bug message may change from one to the other. > - the dmesg log from the oldest bad commit (the one you bisected to) OK, I've fixed the script to attach it (rather than attaching the branch HEAD's dmesg). > - maybe a hint about how I can reproduce the problem, e.g., the qemu > config I need OK, fixed the reporting script to include the QEMU commands for reproducing the problem. > You did supply the config, which is good. But you only supplied one > dmesg log, and it doesn't seem to be from the oldest bad commit. In > fact, it seems to be from some commit that isn't actually in either > Linus' tree or in linux-next. So I don't know what the connection is > with the bad commit. Sorry the dmesg file is from the internal merge-and-testing branch's HEAD -- where the bisect starts. I'll attach the first bad commit's dmesg instead. > What should I do to try to debug a report like this? Where should I start? Thank you very much for the suggestions! Regards, Fengguang > Bjorn > > > [2.812392] Unpacking initramfs... > > [2.812392] Unpacking initramfs... > > [4.937582] Freeing initrd memory: 3276K (93cbd000 - 93ff) > > [4.937582] Freeing initrd memory: 3276K (93cbd000 - 93ff) > > [4.952113] BUG: unable to handle kernel > > [4.952113] BUG: unable to handle kernel NULL pointer dereferenceNULL > > pointer dereference at 003c > > at 003c > > [4.952871] IP: > > [4.952871] IP: [<81c439fb>] rapl_pmu_init+0xed/0x165 > > [<81c439fb>] rapl_pmu_init+0xed/0x165 > > [4.954190] *pde = > > [4.954190] *pde = > > > > [4.954619] Oops: [#1] > > [4.954619] Oops: [#1] > > > > [4.955440] CPU: 0 PID: 1 Comm: swapper Not tainted > > 3.14.0-rc1-00023-gaa11fc5 #1 > > [4.955440] CPU: 0 PID: 1 Comm: swapper Not tainted > > 3.14.0-rc1-00023-gaa11fc5 #1 > > [4.956050] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 > > [4.956050] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 > > [4.956672] task: 80030c20 ti: 80032000 task.ti: 80032000 > > [4.956672] task: 80030c20 ti: 80032000 task.ti: 80032000 > > [4.957295] EIP: 0060:[<81c439fb>] EFLAGS: 00000246 CPU: 0 > > [4.957295] EIP: 0060:[<81c439fb>] EFLAGS: 0246 CPU: 0 > > [4.957831] EIP is at rapl_pmu_init+0xed/0x165 > > [4.957831] EIP is at rapl_pmu_init+0xed/0x165 > > > > Full dmesg attached. > > > > Thanks, > > Fengguang > > > > On Thu, Mar 20, 2014 at 04:50:08PM -0600, Bjorn Helgaas wrote: > >> On Thu, Mar 20, 2014 at 6:41 AM, Fengguang Wu > >> wrote: > >> > Greetings, > >> > > >> > I got the below dmesg and the first bad commit is > >> > > >> > git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git > >> > pci/resource > >> > > >> > commit aa11fc58dc71c27701b1f9a529a36a38d4337722 > >> > Author: Bjorn Helgaas > >> > AuthorDate: Fri Mar 7 13:39:01 2014 -0700 > >> > Commit: Bjorn Helgaas > >> > CommitDate: Wed Mar 19 15:00:16 2014 -0600 > >> > > >> > PCI: Check all IORESOURC
[drm-intel:drm-intel-nightly 40/142] drivers/gpu/drm/i915/i915_sysfs.c:228:49: error: 'rc6_attr_group' undeclared
Hi Ben, FYI, kernel build failed on tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-nightly head: f0db8c3e57486ae7fdbc52bc157f997394d7d11d commit: 8c3f929b6147e142efc58d5d03dc6fa703b14a5d [40/142] drm/i915: Enable some sysfs stuff without CONFIG_PM config: i386-randconfig-b034 (attached as .config) All related error/warning messages: drivers/gpu/drm/i915/i915_sysfs.c: In function 'i915_teardown_sysfs': drivers/gpu/drm/i915/i915_sysfs.c:228:49: error: 'rc6_attr_group' undeclared (first use in this function) drivers/gpu/drm/i915/i915_sysfs.c:228:49: note: each undeclared identifier is reported only once for each function it appears in vim +228 drivers/gpu/drm/i915/i915_sysfs.c 223 } 224 225 void i915_teardown_sysfs(struct drm_device *dev) 226 { 227 device_remove_bin_file(&dev->primary->kdev, &dpf_attrs); > 228 sysfs_unmerge_group(&dev->primary->kdev.kobj, &rc6_attr_group); 229 } --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu, Yuanhan Liu Intel Corporation -- next part -- # # Automatically generated file; DO NOT EDIT. # Linux/i386 3.6.0-rc3 Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y # CONFIG_X86_64 is not set CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_MMU=y # CONFIG_NEED_DMA_MAP_STATE is not set CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_GPIO=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y # CONFIG_RWSEM_GENERIC_SPINLOCK is not set CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_DEFAULT_IDLE=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CPU_AUTOPROBE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y # CONFIG_ZONE_DMA32 is not set # CONFIG_AUDIT_ARCH is not set CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx" CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_HAVE_IRQ_WORK=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y # # General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_XZ=y CONFIG_HAVE_KERNEL_LZO=y CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_BZIP2 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KERNEL_LZO is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y # CONFIG_SYSVIPC is not set CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y # CONFIG_FHANDLE is not set CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y # CONFIG_TASK_XACCT is not set CONFIG_AUDIT=y # CONFIG_AUDITSYSCALL is not set CONFIG_AUDIT_LOGINUID_IMMUTABLE=y CONFIG_HAVE_GENERIC_HARDIRQS=y # # IRQ subsystem # CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_KTIME_SCALAR=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y # # Timers subsystem # CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # # RCU Subsystem # CONFIG_TINY_RCU=y # CONFIG_PREEMPT_RCU is not set # CONFIG_TREE_RCU_TRACE is not set CONFIG_IKCONFIG=y # CONFIG_IKCONFIG_PROC is not set CONFIG_LOG_BUF_SHIFT=17 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_CGROUPS=y CONFIG_CGROUP_DEBUG=y CONFIG_CGROUP_FREEZER=y # CONFIG_CGROUP_DEVICE is not set # CONFIG_CPUSETS is not set # CONFIG_CGROUP_CPUACCT is not set # CONFIG_RESOURCE_COUNTERS is not set # CONFIG_CGROUP_PERF is not set CONFIG_CGROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y # CONFIG_CFS_BANDWIDTH is not set CONFIG_RT_GROUP_SCHED=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_NAMESPACES=y CONFIG_UTS_NS=y CONFIG_IPC_NS=y CONFIG_PID_NS=y # CONFIG_NET_NS is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y CONFIG_INITRAMFS_SOURCE="" CONFIG_RD_GZIP=y CONFIG_RD_BZIP2=y CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y # CONFIG_CC_OPTIMIZE_FO
[robclark:drm-next 14/15] WARNING: debugfs_remove(NULL) is safe this check is probably not required
Hi Rob, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~robclark/linux drm-next head: 865ff8a71f4227222fec89ebb1743b4ca9f24ab1 commit: b91c7b5f2efe902c846e315ea7d219f37ba17ef5 [14/15] WIP: drm/msm: add rd logging debugfs scripts/checkpatch.pl 0001-WIP-drm-msm-add-rd-logging-debugfs.patch WARNING: min() should probably be min_t(int, sz, circ_count_to_end(&rd->fifo)) #270: drivers/gpu/drm/msm/msm_rd.c:142: + n = min((int)sz, circ_count_to_end(&rd->fifo)); ERROR: do not use C99 // comments #299: drivers/gpu/drm/msm/msm_rd.c:171: +priv->rd = rd; // XXX this isn't really good.. ERROR: do not use C99 // comments #352: drivers/gpu/drm/msm/msm_rd.c:224: +// priv->rd = rd; WARNING: debugfs_remove(NULL) is safe this check is probably not required #389: drivers/gpu/drm/msm/msm_rd.c:261: + if (rd->ent) + debugfs_remove(rd->ent); ERROR: do not use C99 // comments #412: drivers/gpu/drm/msm/msm_rd.c:284: +if (!rd) return; // XXX --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation >From b91c7b5f2efe902c846e315ea7d219f37ba17ef5 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 25 Jul 2013 12:07:04 -0400 Subject: [PATCH] WIP: drm/msm: add rd logging debugfs To ease debugging, add debugfs file which can be cat/tail'd to log submits, along with fence #. If GPU hangs, you can look at 'gpu' debugfs file to find last completed fence and current register state, and compare with logged rd file to narrow down the DRAW_INDX which triggered the GPU hang. --- drivers/gpu/drm/msm/Makefile |1 + drivers/gpu/drm/msm/msm_drv.c|3 +- drivers/gpu/drm/msm/msm_drv.h|9 + drivers/gpu/drm/msm/msm_gem.h|1 + drivers/gpu/drm/msm/msm_gem_submit.c |1 + drivers/gpu/drm/msm/msm_gpu.c|2 + drivers/gpu/drm/msm/msm_rd.c | 334 ++ 7 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 drivers/gpu/drm/msm/msm_rd.c diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index c3a5134..f945179 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -23,6 +23,7 @@ msm-y := \ msm_gem.o \ msm_gem_submit.o \ msm_gpu.o \ + msm_rd.o \ msm_ringbuffer.o msm-$(CONFIG_DRM_MSM_FBDEV) += msm_fbdev.o diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 355157d..adcc68b 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -459,11 +459,12 @@ static int msm_debugfs_init(struct drm_minor *minor) return ret; } - return ret; + return msm_rd_debugfs_init(minor); } static void msm_debugfs_cleanup(struct drm_minor *minor) { + msm_rd_debugfs_cleanup(minor); drm_debugfs_remove_files(msm_debugfs_list, ARRAY_SIZE(msm_debugfs_list), minor); } diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index a7426f1..ea6f1c7 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -44,6 +44,8 @@ struct msm_kms; struct msm_gpu; +struct msm_rd_state; +struct msm_gem_submit; #define NUM_DOMAINS 2/* one for KMS, then one per gpu core (?) */ @@ -68,6 +70,8 @@ struct msm_drm_private { uint32_t next_fence, completed_fence; wait_queue_head_t fence_event; + struct msm_rd_state *rd; + /* list of GEM objects: */ struct list_head inactive_list; @@ -179,6 +183,11 @@ void __exit hdmi_unregister(void); void msm_gem_describe(struct drm_gem_object *obj, struct seq_file *m); void msm_gem_describe_objects(struct list_head *list, struct seq_file *m); void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m); +int msm_rd_debugfs_init(struct drm_minor *minor); +void msm_rd_debugfs_cleanup(struct drm_minor *minor); +void msm_rd_dump_submit(struct msm_gem_submit *submit); +#else +static inline void msm_rd_dump_submit(struct msm_gem_submit *submit) {} #endif void __iomem *msm_ioremap(struct device *dev, resource_size_t offset, diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index d746f13..a5dbc5c 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -88,6 +88,7 @@ struct msm_gem_submit { uint32_t type; uint32_t size; /* in dwords */ uint32_t iova; + uint32_t idx; /* cmdstream buffer idx in bos[] */ } cmd[MAX_CMDS]; struct { uint32_t flags; diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index f62904f..d18e677 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -389,6 +389,7 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data,
[robclark:drm-next 15/15] WARNING: debugfs_remove(NULL) is safe this check is probably not required
Hi Rob, FYI, there are new warnings show up in tree: git://people.freedesktop.org/~robclark/linux drm-next head: 72b17e21c5965bd0da5e56d96a4776e508cbd79e commit: 72b17e21c5965bd0da5e56d96a4776e508cbd79e [15/15] WIP: drm/msm: add perf logging debugfs scripts/checkpatch.pl 0001-WIP-drm-msm-add-perf-logging-debugfs.patch ERROR: do not use C99 // comments #565: drivers/gpu/drm/msm/msm_perf.c:170: +priv->perf = perf; // XXX this isn't really good.. ERROR: do not use C99 // comments #616: drivers/gpu/drm/msm/msm_perf.c:221: +// priv->perf = perf; WARNING: debugfs_remove(NULL) is safe this check is probably not required #651: drivers/gpu/drm/msm/msm_perf.c:256: + if (perf->ent) + debugfs_remove(perf->ent); --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation >From 72b17e21c5965bd0da5e56d96a4776e508cbd79e Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Sat, 3 Aug 2013 12:43:25 -0400 Subject: [PATCH] WIP: drm/msm: add perf logging debugfs --- drivers/gpu/drm/msm/Makefile|1 + drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 20 ++- drivers/gpu/drm/msm/adreno/adreno_gpu.c |4 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h |2 - drivers/gpu/drm/msm/msm_drv.c | 15 +- drivers/gpu/drm/msm/msm_drv.h |4 + drivers/gpu/drm/msm/msm_gpu.c | 110 + drivers/gpu/drm/msm/msm_gpu.h | 33 drivers/gpu/drm/msm/msm_perf.c | 270 +++ 9 files changed, 448 insertions(+), 11 deletions(-) create mode 100644 drivers/gpu/drm/msm/msm_perf.c diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index f945179..a19c731 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -23,6 +23,7 @@ msm-y := \ msm_gem.o \ msm_gem_submit.o \ msm_gpu.o \ + msm_perf.o \ msm_rd.o \ msm_ringbuffer.o diff --git a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c index 13d61bb..2e2950f 100644 --- a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c @@ -174,11 +174,11 @@ static int a3xx_hw_init(struct msm_gpu *gpu) /* Turn on performance counters: */ gpu_write(gpu, REG_A3XX_RBBM_PERFCTR_CTL, 0x01); - /* Set SP perfcounter 7 to count SP_FS_FULL_ALU_INSTRUCTIONS -* we will use this to augment our hang detection: -*/ - gpu_write(gpu, REG_A3XX_SP_PERFCOUNTER7_SELECT, - SP_FS_FULL_ALU_INSTRUCTIONS); + /* Enable the perfcntrs that we use.. */ + for (i = 0; i < gpu->num_perfcntrs; i++) { + const struct msm_gpu_perfcntr *perfcntr = &gpu->perfcntrs[i]; + gpu_write(gpu, perfcntr->select_reg, perfcntr->select_val); + } gpu_write(gpu, REG_A3XX_RBBM_INT_0_MASK, A3XX_INT0_MASK); @@ -383,6 +383,13 @@ static const struct adreno_gpu_funcs funcs = { }, }; +static const struct msm_gpu_perfcntr perfcntrs[] = { + { REG_A3XX_SP_PERFCOUNTER6_SELECT, REG_A3XX_RBBM_PERFCTR_SP_6_LO, + SP_ALU_ACTIVE_CYCLES, "ALUACTIVE" }, + { REG_A3XX_SP_PERFCOUNTER7_SELECT, REG_A3XX_RBBM_PERFCTR_SP_7_LO, + SP_FS_FULL_ALU_INSTRUCTIONS, "ALUFULL" }, +}; + struct msm_gpu *a3xx_gpu_init(struct drm_device *dev) { struct a3xx_gpu *a3xx_gpu = NULL; @@ -417,6 +424,9 @@ struct msm_gpu *a3xx_gpu_init(struct drm_device *dev) DBG("fast_rate=%u, slow_rate=%u, bus_freq=%u", gpu->fast_rate, gpu->slow_rate, gpu->bus_freq); + gpu->perfcntrs = perfcntrs; + gpu->num_perfcntrs = ARRAY_SIZE(perfcntrs); + ret = adreno_gpu_init(dev, pdev, &a3xx_gpu->base, &funcs, config->rev); if (ret) diff --git a/drivers/gpu/drm/msm/adreno/adreno_gpu.c b/drivers/gpu/drm/msm/adreno/adreno_gpu.c index 282163e..39a65af 100644 --- a/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ b/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -119,8 +119,6 @@ int adreno_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, struct msm_ringbuffer *ring = gpu->rb; unsigned i, ibs = 0; - adreno_gpu->last_fence = submit->fence; - for (i = 0; i < submit->nr_cmds; i++) { switch (submit->cmd[i].type) { case MSM_SUBMIT_CMD_IB_TARGET_BUF: @@ -225,7 +223,7 @@ void adreno_show(struct msm_gpu *gpu, struct seq_file *m) adreno_gpu->rev.patchid); seq_printf(m, "fence:%d/%d\n", adreno_gpu->memptrs->fence, - adreno_gpu->last_fence); + gpu->submitted_fence); seq_printf(m, "rptr: %d\n", adreno_gpu->memptrs->rptr); seq_printf(m, "wptr: %d\n", adreno_gpu->memptrs->wptr); seq_printf(m, "rb wptr: %d\n", get_wptr(gpu->rb));
general protection fault on ttm_init()
On Sat, Jul 07, 2012 at 11:31:42PM +0800, Fengguang Wu wrote: > On Sat, Jul 07, 2012 at 10:08:47AM +0800, Fengguang Wu wrote: > > On Fri, Jul 06, 2012 at 06:09:20PM +0100, Dave Airlie wrote: > > > On Fri, Jul 6, 2012 at 5:49 PM, Dave Airlie wrote: > > > > On Fri, Jul 6, 2012 at 3:48 PM, Fengguang Wu > > > intel.com> wrote: > > > >> ... The missed kconfig. > > > >> > > > >> On Fri, Jul 06, 2012 at 10:46:22PM +0800, Fengguang Wu wrote: > > > >>> Hi Thomas, > > > > > > > > Wierd, I'm sorta tempted to just depend drm on CONFIG_PROC_FS, but it > > > > looks like the error path is failing to dtrt. > > > > > > I've attached a patch that should fix it, let me know if it works. > > > > It does not work.. The dmesg (attached) remains the same. > > I got more interesting back traces in a clean kernel: Another trace shows that ttm_init tries to register with an empty name: [2.919061] WARNING: at /c/kernel-tests/tip/lib/kobject.c:166 kobject_add_internal+0x1a3/0x210() [2.917489] device: 'ttm': device_add [2.918179] [ cut here ] [2.919061] WARNING: at /c/kernel-tests/tip/lib/kobject.c:166 kobject_add_internal+0x1a3/0x210() ==>[2.920704] kobject: (8826ecc0): attempted to be registered with empty name! [2.922129] Pid: 1, comm: swapper Not tainted 3.5.0-rc2+ #28 [2.923172] Call Trace: [2.923638] [] ? kobject_add_internal+0x1a3/0x210 [2.924827] [] warn_slowpath_common+0x66/0x90 [2.925993] [] ? drm_core_init+0xca/0xca [2.927028] [] warn_slowpath_fmt+0x41/0x50 [2.928093] [] kobject_add_internal+0x1a3/0x210 [2.929261] [] ? drm_core_init+0xca/0xca [2.930327] [] ? drm_core_init+0xca/0xca [2.931473] [] kobject_add+0x67/0xc0 [2.932589] [] ? get_device_parent+0x118/0x1b7 [2.933790] [] get_device_parent+0x161/0x1b7 [2.934895] [] device_add+0x151/0x5f0 [2.935907] [] ? drm_core_init+0xca/0xca [2.936940] [] ? __raw_spin_lock_init+0x38/0x70 [2.938099] [] ? drm_core_init+0xca/0xca [2.939132] [] device_register+0x19/0x20 [2.940254] [] drm_class_device_register+0x17/0x20 [2.941437] [] ttm_init+0x37/0x62 [2.942360] [] do_one_initcall+0x78/0x136 [2.943413] [] kernel_init+0x122/0x1a6 [2.944415] [] ? loglevel+0x31/0x31 [2.945402] [] kernel_thread_helper+0x4/0x10 [2.946506] [] ? retint_restore_args+0x13/0x13 [2.947635] [] ? do_one_initcall+0x136/0x136 [2.948739] [] ? gs_change+0x13/0x13 Thanks, Fengguang > device class 'drm': registering > kobject: 'drm' (88000f07f050): kobject_add_internal: parent: 'class', > set: 'class' > kobject: 'drm' (88000f07f050): kobject_uevent_env > kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' > [drm:drm_core_init] *ERROR* Cannot create /proc/dri > device class 'drm': unregistering > kobject: 'drm' (88000f07f050): kobject_cleanup > kobject: 'drm' (88000f07f050): auto cleanup 'remove' event > kobject: 'drm' (88000f07f050): kobject_uevent_env > kobject: 'drm' (88000f07f050): fill_kobj_path: path = '/class/drm' > kobject: 'drm' (88000f07f050): auto cleanup kobject_del > kobject: 'drm' (88000f07f050): calling ktype release > class 'drm': release. > class_create_release called for drm > kobject: 'drm': free name > kobject: 'drm' (88000f080070): kobject_cleanup > kobject: 'drm' (88000f080070): calling ktype release > kobject: 'drm': free name > device: 'ttm': device_add > kobject: '(null)' (88000f080230): kobject_add_internal: parent: > 'virtual', set: '(null)' > kobject: 'ttm' (824709b0): kobject_add_internal: parent: '(null)', > set: 'devices' > general protection fault: [#1] SMP > CPU 1 > Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc5-bisect #207 > RIP: 0010:[] [] > sysfs_do_create_link+0x59/0x1c0 > RSP: 0018:88107db0 EFLAGS: 00010206 > RAX: 8810 RBX: 00cc RCX: dad9 > RDX: d9d9 RSI: RDI: 8243b320 > RBP: 88107e00 R08: 88100580 R09: fe80 > R10: 8810 R11: 0200 R12: 821622db > R13: 8800
general protection fault on ttm_init()
Hi Dave, On Sat, Jul 14, 2012 at 01:33:45PM +1000, Dave Airlie wrote: > Can you try this patch on top of the previous one? > > I think it should fix it. You are right, it works! Thank you very much! :-) Thanks, Fengguang
[drm-intel:drm-intel-next-queued 58/59] drivers/gpu/drm/i915/i915_gem_context.c:454:6: warning: unused variable 'ret'
Hi Chris, There are new compile warnings show up in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 3cbf0ed71c262c2f07b3386e3c07c8d41440e050 commit: 289513fe7d347ce23f4f45906324601bf7df01af [58/59] drm/i915: fix invalid reference handling of the default ctx obj All warnings: drivers/gpu/drm/i915/i915_gem_context.c: In function 'i915_switch_context': drivers/gpu/drm/i915/i915_gem_context.c:454:6: warning: unused variable 'ret' [-Wunused-variable] vim +454 drivers/gpu/drm/i915/i915_gem_context.c 451 struct drm_i915_file_private *file_priv = NULL; 452 struct i915_hw_context *to; 453 struct drm_i915_gem_object *from_obj = ring->last_context_obj; > 454 int ret; 455 456 if (dev_priv->hw_contexts_disabled) 457 return 0; --- 0-DAY kernel build testing backend Open Source Technology Centre Fengguang Wu Intel Corporation
[PATCH] fix nouveau build error on !CONFIG_MXM_WMI
Fix build error on IA64: ERROR: "mxm_wmi_supported" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- include/linux/mxm-wmi.h |8 1 file changed, 8 insertions(+) diff --git a/include/linux/mxm-wmi.h b/include/linux/mxm-wmi.h index 617a295..f6a6214 100644 --- a/include/linux/mxm-wmi.h +++ b/include/linux/mxm-wmi.h @@ -28,6 +28,14 @@ #define MXM_MXDS_ADAPTER_IGD 0x10 int mxm_wmi_call_mxds(int adapter); int mxm_wmi_call_mxmx(int adapter); + +#if IS_ENABLED(CONFIG_MXM_WMI) bool mxm_wmi_supported(void); +#else +static inline bool mxm_wmi_supported(void) +{ + return false; +} +#endif #endif -- 1.7.10
[PATCH] nouveau: fix build error on IA64
I'm not sure if this is the best way, however it does fix the last 2 allmodconfig errors on IA64: ERROR: "wmi_has_guid" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! ERROR: "wmi_evaluate_method" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- drivers/gpu/drm/nouveau/Kconfig |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig index 97a8126..046bb56 100644 --- a/drivers/gpu/drm/nouveau/Kconfig +++ b/drivers/gpu/drm/nouveau/Kconfig @@ -11,7 +11,7 @@ config DRM_NOUVEAU select FRAMEBUFFER_CONSOLE if !EXPERT select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT - select ACPI_WMI if ACPI + select ACPI_WMI if ACPI && !IA64 select MXM_WMI if ACPI select POWER_SUPPLY help -- 1.7.10
[PATCH] nouveau: fix build error on IA64
> - select ACPI_WMI if ACPI > + select ACPI_WMI if ACPI && !IA64 > select MXM_WMI if ACPI Sorry, the MXM_WMI line should also be changed. Although MXM_WMI depends on ACPI_WMI, "select" is dumb and will ignore that dependency.. Thanks, Fengguang --- From: Fengguang Wu Date: Wed, 25 Jul 2012 15:56:35 +0800 Subject: [PATCH] nouveau: fix build error on IA64 I'm not sure if this is the best way, however it does fix these link errors on IA64: ERROR: "wmi_has_guid" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! ERROR: "wmi_evaluate_method" [drivers/gpu/drm/nouveau/nouveau.ko] undefined! Signed-off-by: Fengguang Wu --- drivers/gpu/drm/nouveau/Kconfig |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- linux.orig/drivers/gpu/drm/nouveau/Kconfig 2012-07-25 19:09:37.715358715 +0800 +++ linux/drivers/gpu/drm/nouveau/Kconfig 2012-07-25 22:34:43.775298923 +0800 @@ -11,8 +11,8 @@ config DRM_NOUVEAU select FRAMEBUFFER_CONSOLE if !EXPERT select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT - select ACPI_WMI if ACPI - select MXM_WMI if ACPI + select ACPI_WMI if ACPI && !IA64 + select MXM_WMI if ACPI && !IA64 select POWER_SUPPLY help Choose this option for open-source nVidia support.
[sbc_gxx] kernel BUG at include/linux/mtd/map.h:148!
Hello, This is an old BUG that still lives in linux-next. [4.284620] device id = 2670 [4.286157] SBC-GXx flash: IO:0x258-0x259 MEM:0xdc000-0xd [4.287060] [ cut here ] [4.287722] kernel BUG at include/linux/mtd/map.h:148! [4.288048] invalid opcode: [#1] PREEMPT SMP [4.288048] CPU 1 [4.288048] Pid: 1, comm: swapper/0 Not tainted 3.5.0-rc4-00162-g49099c4 #17 Bochs Bochs [4.288048] RIP: 0010:[] [] mtd_do_chip_probe+0x1d/0x1f [4.288048] RSP: 0018:880011049e20 EFLAGS: 00010246 [4.288048] RAX: RBX: 82a23550 RCX: [4.288048] RDX: 880011049e20 RSI: 82a23580 RDI: 880011049e80 [4.288048] RBP: 880011049e80 R08: 0003 R09: 810d6c93 [4.288048] R10: R11: 0001 R12: 82a23eb0 [4.288048] R13: 828790ce R14: R15: [4.288048] FS: () GS:88001260() knlGS: [4.288048] CS: 0010 DS: ES: CR0: 8005003b [4.288048] CR2: CR3: 0298c000 CR4: 000406e0 [4.288048] DR0: DR1: DR2: [4.288048] DR3: DR6: 0ff0 DR7: 0400 [4.288048] Process swapper/0 (pid: 1, threadinfo 880011048000, task 88001104) [4.288048] Stack: [4.288048] [4.288048] [4.288048] [4.288048] Call Trace: [4.288048] [] cfi_probe+0x15/0x17 [4.288048] [] do_map_probe+0xa0/0xac [4.288048] [] ? physmap_init+0x12/0x12 [4.288048] [] init_sbc_gxx+0x104/0x15b [4.288048] [] do_one_initcall+0x86/0x208 [4.288048] [] kernel_init+0x10d/0x1c2 [4.288048] [] ? do_early_param+0xc3/0xc3 [4.288048] [] kernel_thread_helper+0x4/0x10 [4.288048] [] ? retint_restore_args+0x13/0x13 [4.288048] [] ? do_one_initcall+0x208/0x208 [4.288048] [] ? gs_change+0x13/0x13 [4.288048] Code: 83 c4 58 5b 41 5c 41 5d 41 5e 41 5f 5d c3 55 48 89 e5 48 83 ec 60 66 66 66 66 90 31 c0 b9 18 00 00 00 48 8d 55 a0 48 89 d7 f3 ab <0f> 0b 55 48 89 e5 66 66 66 66 90 48 c7 c6 a0 39 a2 82 e8 cc ff [4.288048] RIP [] mtd_do_chip_probe+0x1d/0x1f [4.288048] RSP [4.321423] ---[ end trace 169195d5d1f9be6e ]--- [4.322118] swapper/0 (1) used greatest stack depth: 3768 bytes left This script may reproduce the error. #!/bin/bash kernel=$1 initrd=quantal-core-x86_64.cgz wget --no-clobber https://github.com/fengguang/reproduce-kernel-bug/raw/master/initrd/$initrd kvm=( qemu-system-x86_64 -enable-kvm -cpu Haswell,+smep,+smap -kernel $kernel -initrd $initrd -m 320 -smp 2 -net nic,vlan=1,model=e1000 -net user,vlan=1 -boot order=nc -no-reboot -watchdog i6300esb -rtc base=localtime -serial stdio -display none -monitor null ) append=( hung_task_panic=1 earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=10 softlockup_panic=1 nmi_watchdog=panic prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw drbd.minor_count=8 ) "${kvm[@]}" --append "${append[*]}" Thanks, Fengguang -- next part -- early console in setup code Probing EDD (edd=off to disable)... ok early console in decompress_kernel Decompressing Linux... Parsing ELF... done. Booting the kernel. [0.00] Initializing cgroup subsys cpu [0.00] Linux version 3.5.0-rc4-00162-g49099c4 (kbuild at lkp-hsx01) (gcc version 4.8.2 (Debian 4.8.2-18) ) #17 SMP PREEMPT Tue Aug 5 16:41:03 CST 2014 [0.00] Command line: hung_task_panic=1 earlyprintk=ttyS0,115200 debug apic=debug sysrq_always_enabled rcupdate.rcu_cpu_stall_timeout=100 panic=10 softlockup_panic=1 nmi_watchdog=panic prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw link=/kbuild-tests/run-queue/kvm/x86_64-randconfig-s0-08051229/linux-devel:devel-hourly-2014080511:49099c4991da3c94773f888aea2e9d27b8a7c6d1:bisect-linux1/.vmlinuz-49099c4991da3c94773f888aea2e9d27b8a7c6d1-20140805164127-2-kbuild branch=linux-devel/devel-hourly-2014080511 BOOT_IMAGE=/kernel/x86_64-randconfig-s0-08051229/49099c4991da3c94773f888aea2e9d27b8a7c6d1/vmlinuz-3.5.0-rc4-00162-g49099c4 drbd.minor_count=8 [0.00] e820: BIOS-pr
[drm/atomic] BUG: unable to handle kernel NULL pointer dereference at 00000008
Greetings, 0day kernel testing robot got the below dmesg and the first bad commit is git://people.freedesktop.org/~robclark/linux atomic-properties commit 77df8db029cf879929c155512ac7030dd2bed842 Author: Rob Clark AuthorDate: Mon Nov 24 11:55:58 2014 -0500 Commit: Rob Clark CommitDate: Tue Dec 16 17:50:10 2014 -0500 drm/atomic: atomic plane properties Expose the core plane state as properties, so they can be updated via atomic ioctl. Signed-off-by: Rob Clark +---++++ | | 67021527bb | 77df8db029 | 161cea05a4 | +---++++ | boot_successes| 60 | 0 | 0 | | boot_failures | 0 | 20 | 16 | | BUG:unable_to_handle_kernel | 0 | 20 | 16 | | Oops | 0 | 20 | 16 | | EIP_is_at_drm_universal_plane_init| 0 | 20 | 16 | | Kernel_panic-not_syncing:Fatal_exception | 0 | 20 | 16 | | backtrace:drm_universal_plane_init| 0 | 20 | 16 | | backtrace:drm_primary_helper_create_plane | 0 | 20 | 16 | | backtrace:drm_crtc_init | 0 | 20 | 16 | | backtrace:cirrus_modeset_init | 0 | 20 | 16 | | backtrace:__pci_register_driver | 0 | 20 | 16 | | backtrace:drm_pci_init| 0 | 20 | 16 | | backtrace:cirrus_init | 0 | 20 | 16 | | backtrace:kernel_init_freeable| 0 | 20 | 16 | +---++++ [1.182990] [drm] Initialized drm 1.1.0 20060810 [1.185690] [TTM] Zone kernel: Available graphics memory: 149938 kiB [1.186177] [TTM] Initializing pool allocator [1.186912] BUG: unable to handle kernel NULL pointer dereference at 0008 [1.187477] IP: [<81379138>] drm_universal_plane_init+0x143/0x214 [1.187956] *pdpt = *pde = f000ff53f000ff53 [1.188414] Oops: [#1] DEBUG_PAGEALLOC [1.188765] CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.0-g77df8db #25 [1.189266] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014 [1.190017] task: 8010 ti: 8006a000 task.ti: 8006a000 [1.190017] EIP: 0060:[<81379138>] EFLAGS: 00010246 CPU: 0 [1.190017] EIP is at drm_universal_plane_init+0x143/0x214 [1.190017] EAX: EBX: 91168000 ECX: EDX: [1.190017] ESI: 0001 EDI: EBP: 8006bdac ESP: 8006bd90 [1.190017] DS: 007b ES: 007b FS: GS: SS: 0068 [1.190017] CR0: 8005003b CR2: 0008 CR3: 01c4e000 CR4: 06b0 [1.190017] Stack: [1.190017] 0008 91150de4 91150d70 91150d70 817524a8 91168000 8006bdd4 [1.190017] 81365e37 81752484 817524a8 0002 0001 91168000 911688b0 [1.190017] 8176d628 8006bde8 81365e66 9116f0f0 91168000 911688b0 8006be00 813ffb81 [1.190017] Call Trace: [1.190017] [<81365e37>] drm_primary_helper_create_plane+0x5f/0x79 [1.190017] [<81365e66>] drm_crtc_init+0x15/0x2b [1.190017] [<813ffb81>] cirrus_modeset_init+0x83/0x179 [1.190017] [<813fefde>] cirrus_driver_load+0x76/0xb5 [1.190017] [<81373730>] drm_dev_register+0x69/0xcb [1.190017] [<813749f2>] drm_get_pci_dev+0xc8/0x15c [1.190017] [<813ffd65>] cirrus_pci_probe+0xbf/0xc7 [1.190017] [<8127c8fd>] pci_device_probe+0x45/0x7f [1.190017] [<8142b1fb>] driver_probe_device+0x83/0x175 [1.190017] [<8142b367>] __driver_attach+0x4e/0x6a [1.190017] [<8142a043>] bus_for_each_dev+0x4e/0x6b [1.190017] [<8142b403>] driver_attach+0x14/0x16 [1.190017] [<8142b319>] ? __device_attach+0x2c/0x2c [1.190017] [<8142a67c>] bus_add_driver+0xc5/0x175 [1.190017] [<81bef778>] ? i915_init+0x69/0x69 [1.190017] [<8142b73f>] driver_register+0x6f/0xa4 [1.190017] [<81bef778>] ? i915_init+0x69/0x69 [1.190017] [<8127c7d0>] __pci_register_driver+0x45/0x48 [1.190017] [<81374acd>] drm_pci_init+0x47/0xb3 [1.190017] [<81bef778>] ? i915_init+0x69/0x69 [1.190017] [<81bef798>] cirrus_init+0x20/0x22 [1.190017] [<81bc8b46>] do_one_initcall+0xce/0x145 [1.190017] [<81bc8400>] ? do_early_param+0x3e/0x73 [1.190017] [<8103ad64>] ? parse_args+0x19d/0x280 [1.190017] [<81bc8d1d>] kernel_init_freeable+0x160/0x1e0 [1.190017] [<81682d82>] kernel_init+0x8/0xb8 [1.190017] [<8168dae0>] ret_from_kernel_thread+0x20/0x30 [1.190017] [<81682d7a>] ? rest_ini
[drm/fb-helper] BUG: unable to handle kernel paging request at 95d24c70
Hi Thierry, FYI, here is another bisect result. commit 7bf2844ed14de049a4ccec26eb3d8b4c3d5c1971 Author: Thierry Reding AuthorDate: Wed Dec 17 16:39:59 2014 +0100 Commit: Daniel Vetter CommitDate: Wed Dec 17 22:05:08 2014 +0100 drm/fb-helper: Propagate errors from initial config failure Make drm_fb_helper_initial_config() return an int rather than a bool so that the error can be properly propagated. While at it, update drivers to propagate errors further rather than just ignore them. Cc: David Airlie Cc: Daniel Vetter Cc: Patrik Jakobsson Cc: Rob Clark Cc: Tomi Valkeinen Cc: Alex Deucher Cc: Christian König Cc: Ben Skeggs Signed-off-by: Thierry Reding Reviewed-by: Alex Deucher Reviewed-by: Patrik Jakobsson Signed-off-by: Daniel Vetter +--+++---+ | | 7552e7dd95 | 7bf2844ed1 | next-20141218 | +--+++---+ | boot_successes | 60 | 0 | 0 | | boot_failures| 0 | 20 | 26 | | BUG:unable_to_handle_kernel | 0 | 20 | 26 | | Oops | 0 | 20 | 26 | | EIP_is_at_virt_to_head_page | 0 | 20 | 26 | | Kernel_panic-not_syncing:Fatal_exception | 0 | 20 | 26 | | backtrace:__pci_register_driver | 0 | 20 | 26 | | backtrace:drm_pci_init | 0 | 20 | 26 | | backtrace:cirrus_init| 0 | 20 | 26 | | backtrace:kernel_init_freeable | 0 | 20 | 26 | +--+++---+ [1.509413] cirrusdrmfb: enable CONFIG_FB_LITTLE_ENDIAN to support this framebuffer [1.510493] [drm:cirrus_modeset_init] *ERROR* cirrus_fbdev_init failed [1.511405] cirrus :00:02.0: Fatal error during modeset init: -22 [1.513064] BUG: unable to handle kernel paging request at 95d24c70 [1.513775] IP: [<8109e956>] virt_to_head_page+0x15/0x2a [1.513775] *pdpt = 01c48001 *pde = [1.513775] Oops: [#1] DEBUG_PAGEALLOC [1.513775] CPU: 0 PID: 1 Comm: swapper Not tainted 3.18.0-rc4-00653-g7bf2844 #26 [1.513775] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [1.513775] task: 8010 ti: 80072000 task.ti: 80072000 [1.513775] EIP: 0060:[<8109e956>] EFLAGS: 00010282 CPU: 0 [1.513775] EIP is at virt_to_head_page+0x15/0x2a [1.513775] EAX: 6b6b6b6b EBX: 6b6b6b6b ECX: 00110005 EDX: 95d24c70 [1.513775] ESI: EDI: 9208dfc4 EBP: 80073d8c ESP: 80073d8c [1.513775] DS: 007b ES: 007b FS: GS: SS: 0068 [1.513775] CR0: 8005003b CR2: 95d24c70 CR3: 01c4c000 CR4: 06b0 [1.513775] Stack: [1.513775] 80073dac 810a0c1a 81098f98 81098f98 023f 91196db0 9208dfc4 [1.513775] 80073dc0 8136b055 91196db0 9208a2c0 9208dfc4 80073dcc 8136b6c1 91196db0 [1.513775] 80073de4 813fd7d4 9174ec24 9208a2c0 9208df90 9208a2c0 80073df0 813fd037 [1.513775] Call Trace: [1.513775] [<810a0c1a>] kfree+0x19/0xc4 [1.513775] [<81098f98>] ? __vunmap+0x8f/0x97 [1.513775] [<81098f98>] ? __vunmap+0x8f/0x97 [1.513775] [<8136b055>] drm_fb_helper_crtc_free+0x1a/0x5a [1.513775] [<8136b6c1>] drm_fb_helper_fini+0x4f/0x54 [1.513775] [<813fd7d4>] cirrus_fbdev_fini+0x9a/0xcb [1.513775] [<813fd037>] cirrus_modeset_fini+0xb/0x1f [1.513775] [<813fc2fb>] cirrus_driver_unload+0x15/0x37 [1.513775] [<813fc3c8>] cirrus_driver_load+0xab/0xb5 [1.513775] [<813730cc>] drm_dev_register+0x69/0xcb [1.513775] [<8137438e>] drm_get_pci_dev+0xc8/0x15c [1.513775] [<813fd11a>] cirrus_pci_probe+0xbf/0xc7 [1.513775] [<8127c6b6>] pci_device_probe+0x45/0x7f [1.513775] [<81428648>] driver_probe_device+0x83/0x175 [1.513775] [<814287b4>] __driver_attach+0x4e/0x6a [1.513775] [<81427490>] bus_for_each_dev+0x4e/0x6b [1.513775] [<81428850>] driver_attach+0x14/0x16 [1.513775] [<81428766>] ? __device_attach+0x2c/0x2c [1.513775] [<81427ac9>] bus_add_driver+0xc5/0x175 [1.513775] [<81bed76c>] ? i915_init+0x69/0x69 [1.513775] [<81428b8c>] driver_register+0x6f/0xa4 [1.513775] [<81bed76c>] ? i915_init+0x69/0x69 [1.513775] [<8127c589>] __pci_register_driver+0x45/0x48 [1.513775] [<81374469>] drm_pci_init+0x47/0xb3 [1.513775] [<81bed76c>] ? i915_init+0x69/0x69 [1.513775] [<81bed78c>] cirrus_init+0x20/0x22 [1.513775] [<81bc6b3f>] do_one_initcall+0xce/0x145 [1.513775] [<81bc6400>] ? do_early_param+0x3
[drm/fb-helper] WARNING: CPU: 1 PID: 1 at lib/idr.c:506 idr_remove()
Greetings, 0day kernel testing robot got the below dmesg and the first bad commit is git://anongit.freedesktop.org/drm-intel topic/core-stuff commit 7bf2844ed14de049a4ccec26eb3d8b4c3d5c1971 Author: Thierry Reding AuthorDate: Wed Dec 17 16:39:59 2014 +0100 Commit: Daniel Vetter CommitDate: Wed Dec 17 22:05:08 2014 +0100 drm/fb-helper: Propagate errors from initial config failure Make drm_fb_helper_initial_config() return an int rather than a bool so that the error can be properly propagated. While at it, update drivers to propagate errors further rather than just ignore them. Cc: David Airlie Cc: Daniel Vetter Cc: Patrik Jakobsson Cc: Rob Clark Cc: Tomi Valkeinen Cc: Alex Deucher Cc: Christian König Cc: Ben Skeggs Signed-off-by: Thierry Reding Reviewed-by: Alex Deucher Reviewed-by: Patrik Jakobsson Signed-off-by: Daniel Vetter Attached dmesg for the parent commit, too, to help confirm whether it is a noise error. Judging from the kernel boot hang timestamps, that looks like an noise. +++++ || 7552e7dd95 | 7bf2844ed1 | 7bf2844ed1 | +++++ | boot_successes | 0 | 0 | 0 | | boot_failures | 80 | 12 | 12 | | BUG:kernel_boot_hang | 80 || | | WARNING:at_lib/idr.c:#idr_remove() | 0 | 12 | 12 | | RIP:strcmp | 0 | 5 | 5 | | Kernel_panic-not_syncing:softlockup:hung_tasks | 0 | 11 | 11 | | backtrace:__pci_register_driver| 0 | 12 | 12 | | backtrace:drm_pci_init | 0 | 12 | 12 | | backtrace:cirrus_init | 0 | 12 | 12 | | backtrace:kernel_init_freeable | 0 | 12 | 12 | | backtrace:i2c_register_driver | 0 | 5 | 5 | | backtrace:bh1780_driver_init | 0 | 2 | 2 | | RIP:kset_find_obj | 0 | 6 | 6 | | backtrace:i2o_pci_init | 0 | 2 | 2 | | backtrace:i2o_iop_init | 0 | 2 | 2 | | backtrace:lm3642_i2c_driver_init | 0 | 1 | 1 | | BUG:kernel_test_hang | 0 | 1 | 1 | | backtrace:usb_register_driver | 0 | 2 | 2 | | backtrace:hanwang_driver_init | 0 | 2 | 2 | | backtrace:__gameport_register_driver | 0 | 1 | 1 | | backtrace:grip_drv_init| 0 | 1 | 1 | | backtrace:w83l785ts_driver_init| 0 | 2 | 2 | | backtrace:spi_register_driver | 0 | 1 | 1 | | backtrace:dac7512_driver_init | 0 | 1 | 1 | +++++ [4.754439] cirrus :00:02.0: Fatal error during modeset init: -22 [4.756061] [ cut here ] [4.756061] [ cut here ] [4.756800] WARNING: CPU: 1 PID: 1 at lib/idr.c:506 idr_remove+0x384/0x3b0() [4.756800] WARNING: CPU: 1 PID: 1 at lib/idr.c:506 idr_remove+0x384/0x3b0() [4.758132] idr_remove called for id=20 which is not allocated. [4.758132] idr_remove called for id=20 which is not allocated. [4.759056] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc4-g7bf2844 #20 [4.759056] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc4-g7bf2844 #20 [4.760184] 0009 [4.760184] 0009 88001147fa08 88001147fa08 824ce992 824ce992 81151538 81151538 [4.761391] 88001147fa58 [4.761391] 88001147fa58 88001147fa48 88001147fa48 810dac1a 810dac1a 88001147fa78 88001147fa78 [4.762593] 88001147fac8 [4.762593] 88001147fac8 880012c916f8 880012c916f8 880012d01310 880012d01310 880012c91060 880012c91060 [4.763796] Call Trace: [4.763796] Call Trace: [4.764187] [] dump_stack+0x86/0xbc [4.764187] [] dump_stack+0x86/0xbc [4.764995] [] ? console_unlock+0x3b8/0x7a0 [4.764995] [] ? console_unloc
[PATCH] MAINTAINERS: Update drm/i915 git repo
On Wed, Feb 05, 2014 at 08:54:15AM +0100, Daniel Vetter wrote: > On Tue, Feb 4, 2014 at 8:37 PM, Daniel Vetter > wrote: > > On Tue, Feb 4, 2014 at 8:00 PM, Daniel Vetter > > wrote: > >> Moved to a common location so that Jani also can push to it, to avoid > >> moving it every time I go on vacation. Please update autobuilders and > >> everything else pointing at the drm-intel.git repo, the old one won't > >> be updated any more. > >> > >> Cc: Dave Airlie > >> Cc: Jani Nikula > >> Signed-off-by: Daniel Vetter > > > > Also forgotten to cc our QA people ... > > And Wu Fengguang with his 0-day builder also needs to know about the > new git repo! Yeah updated, thank you for the info! Fengguang > -Daniel > > >> --- > >> MAINTAINERS | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/MAINTAINERS b/MAINTAINERS > >> index 31a046213274..e3aaf277cf58 100644 > >> --- a/MAINTAINERS > >> +++ b/MAINTAINERS > >> @@ -2832,7 +2832,7 @@ M:Jani Nikula >> linux.intel.com> > >> L: intel-gfx at lists.freedesktop.org > >> L: dri-devel at lists.freedesktop.org > >> Q: http://patchwork.freedesktop.org/project/intel-gfx/ > >> -T: git git://people.freedesktop.org/~danvet/drm-intel > >> +T: git git://anongit.freedesktop.org/drm-intel > >> S: Supported > >> F: drivers/gpu/drm/i915/ > >> F: include/drm/i915* > >> -- > >> 1.8.5.2 > >> > > > > > > > > -- > > Daniel Vetter > > Software Engineer, Intel Corporation > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
[drm] BUG: spinlock lockup suspected on CPU#0, swapper/0/1
Hi David, I'm not sure if this is a good bisect because the errors are noisy, however it's good to inform you of this possibility. First bad commit may be a3483353c ("drm: check for !kdev in drm_unplug_minor()") === PARENT COMMIT NOT CLEAN. LOOK OUT FOR WRONG BISECT! === ++--+--+ | | 0846c728e20a | efb753b8e013 | ++--+--+ | boot_successes | 183 | 18 | | boot_failures | 162 | 11 | | BUG:kernel_early_hang_without_any_printk_output | 1| | | BUG:unable_to_handle_kernel | 161 | 3| | BUG:unable_to_handle_kernel_NULL_pointer_dereferenceNULL_pointer_dereference_at | 161 | | | Oops | 161 | 3| | Oops:SMP_SMP_DEBUG_PAGEALLOCDEBUG_PAGEALLOC | 161 | 3| | EIP_is_at_drm_unplug_minor | 161 | | | Kernel_panic-not_syncing:Fatal_exception | 161 | 2| | BUG:spinlock_lockup_suspected_on_CPU | 0| 3| | INFO:NMI_handler(arch_trigger_all_cpu_backtrace_handler)took_too_long_to_run:msecs | 0| 1| | BUG:unable_to_handle_kernel_paging_requestpaging_request_at | 0| 3| | BUG:Bad_page_state_in_process | 0| 1| | BUG:kernel_test_hang | 0| 4| | EIP_is_at_default_send_IPI_mask_logical | 0| 3| | EIP_is_at_slob_free | 0| 3| | EIP_is_at_drm_debugfs_cleanup | 0| 1| | Kernel_panic-not_syncing:Fatal_exception_in_interrupt | 0| 1| ++--+--+ [ 12.071139] parport0: PC-style at 0x378 [ 12.071139] parport0: PC-style at 0x378, irq 7, irq 7 [ [PCSPPPCSPP,TRISTATE,TRISTATE] ] [ 12.115335] BUG: spinlock lockup suspected on CPU#0, swapper/0/1 git bisect start 26b265cd29dde56bf0901c421eabc7ae815f38c4 v3.12 -- git bisect good 7e1a1e9378018aeea2c7e8a3dd2ceb1db1523b0b # 23:43115+ 1 Merge tag 'xfs-for-linus-v3.13-rc1' of git://oss.sgi.com/xfs/xfs git bisect bad 13509c3a9d20a9df93dc9b944e8bd20fe1b454a7 # 23:58 3- 2 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux git bisect bad 4937e2a6f939a41bf811378e80d71f68aa0950c6 # 00:16 4- 4 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input git bisect good 049ffa8ab33a63b3bff672d1a0ee6a35ad253fe8 # 01:04115+ 46 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux git bisect good 98d38dd2ee30322fc9934d7490be3c5bee80950e # 01:52115+ 51 Merge tag 'for-3.13' of git://git.openrisc.net/~jonas/linux git bisect bad f412f2c60b480fa5140a4b4cb321cd48c64e1812 # 02:06 0- 1 Merge branch 'for-linus' of git://git.kernel.dk/linux-block git bisect good 6c0514ddd973ff13c3d2b2e7ac1422c982afb8eb # 02:41115+ 43 Merge tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux git bisect bad cd1177f25069cb494680eedd718e7c6d8fd85d10 # 02:52 9- 4 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux git bisect bad a3483353ca4e6dbeef2ed62ebed01af109b5b27a # 03:23 9- 2 drm: check for !kdev in drm_unplug_minor() # first bad commit: [a3483353ca4e6dbeef2ed62ebed01af109b5b27a] drm: check for !kdev in drm_unplug_minor() git bisect good 0846c728e20a0cd1e43fb75a3015f3b176a26466 # 06:05345+ 162 Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next git bisect bad efb753b8e0136fe66b507e8e1e42b5a2df7ba44d # 06:05 0
[drm-intel:drm-intel-next-queued 242/253] drivers/gpu/drm/i915/intel_ringbuffer.c:1478:3-25: duplicated argument to & or |
Hi Jesse, FYI, there are coccinelle warnings in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: 25fb73785b14593a79198af6ed702cf15dd16e6e commit: eba434781d68ce562aa64c423876958e6c707c84 [242/253] drm/i915: TLB invalidation with MI_FLUSH_DW requires a post-sync op + drivers/gpu/drm/i915/intel_ringbuffer.c:1478:3-25: duplicated argument to & or | vim +1478 drivers/gpu/drm/i915/intel_ringbuffer.c 71a77e07 Chris Wilson 2011-02-02 1462 uint32_t cmd; b72f3acb Chris Wilson 2011-01-04 1463 int ret; b72f3acb Chris Wilson 2011-01-04 1464 6a233c78 Daniel Vetter 2011-12-14 1465 ret = intel_ring_begin(ring, 4); b72f3acb Chris Wilson 2011-01-04 1466 if (ret) b72f3acb Chris Wilson 2011-01-04 1467 return ret; b72f3acb Chris Wilson 2011-01-04 1468 71a77e07 Chris Wilson 2011-02-02 1469 cmd = MI_FLUSH_DW; eba43478 Jesse Barnes 2012-10-26 1470 /* eba43478 Jesse Barnes 2012-10-26 1471 * Bspec vol 1c.3 - blitter engine command streamer: eba43478 Jesse Barnes 2012-10-26 1472 * "If ENABLED, all TLBs will be invalidated once the flush eba43478 Jesse Barnes 2012-10-26 1473 * operation is complete. This bit is only valid when the eba43478 Jesse Barnes 2012-10-26 1474 * Post-Sync Operation field is a value of 1h or 3h." eba43478 Jesse Barnes 2012-10-26 1475 */ 71a77e07 Chris Wilson 2011-02-02 1476 if (invalidate & I915_GEM_DOMAIN_RENDER) eba43478 Jesse Barnes 2012-10-26 1477 cmd |= MI_INVALIDATE_TLB | MI_FLUSH_DW_STORE_INDEX | eba43478 Jesse Barnes 2012-10-26 @1478 MI_FLUSH_DW_OP_STOREDW | MI_FLUSH_DW_OP_STOREDW; 71a77e07 Chris Wilson 2011-02-02 1479 intel_ring_emit(ring, cmd); eba43478 Jesse Barnes 2012-10-26 1480 intel_ring_emit(ring, I915_GEM_HWS_SCRATCH_ADDR | MI_FLUSH_DW_USE_GTT); b72f3acb Chris Wilson 2011-01-04 1481 intel_ring_emit(ring, 0); 71a77e07 Chris Wilson 2011-02-02 1482 intel_ring_emit(ring, MI_NOOP); b72f3acb Chris Wilson 2011-01-04 1483 intel_ring_advance(ring); b72f3acb Chris Wilson 2011-01-04 1484 return 0; 8d19215b Zou Nan hai 2010-11-02 1485 } 8d19215b Zou Nan hai 2010-11-02 1486 --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation
[drm-intel:drm-intel-next-queued 255/259] drivers/gpu/drm/i915/i915_gem_gtt.c:366:36: sparse: dereference of noderef expression
Hi Ben, FYI, there are new sparse warnings show up in tree: git://people.freedesktop.org/~danvet/drm-intel.git drm-intel-next-queued head: afef67fbc09aec8508c88aac1931661a36e91958 commit: a1e0e54668f41badfaf5e49cae9fc10b79635b25 [255/259] drm/i915: Stop using AGP layer for GEN6+ + drivers/gpu/drm/i915/i915_gem_gtt.c:366:36: sparse: dereference of noderef expression vim +366 drivers/gpu/drm/i915/i915_gem_gtt.c a1e0e546 Ben Widawsky 2012-11-04 350 { a1e0e546 Ben Widawsky 2012-11-04 351 struct drm_device *dev = obj->base.dev; a1e0e546 Ben Widawsky 2012-11-04 352 struct drm_i915_private *dev_priv = dev->dev_private; a1e0e546 Ben Widawsky 2012-11-04 353 struct sg_table *st = obj->pages; a1e0e546 Ben Widawsky 2012-11-04 354 struct scatterlist *sg = st->sgl; a1e0e546 Ben Widawsky 2012-11-04 355 const int first_entry = obj->gtt_space->start >> PAGE_SHIFT; a1e0e546 Ben Widawsky 2012-11-04 356 const int max_entries = dev_priv->mm.gtt->gtt_total_entries - first_entry; a1e0e546 Ben Widawsky 2012-11-04 357 gtt_pte_t __iomem *gtt_entries = dev_priv->mm.gtt->gtt + first_entry; a1e0e546 Ben Widawsky 2012-11-04 358 int unused, i = 0; a1e0e546 Ben Widawsky 2012-11-04 359 unsigned int len, m = 0; a1e0e546 Ben Widawsky 2012-11-04 360 dma_addr_t addr; a1e0e546 Ben Widawsky 2012-11-04 361 a1e0e546 Ben Widawsky 2012-11-04 362 for_each_sg(st->sgl, sg, st->nents, unused) { a1e0e546 Ben Widawsky 2012-11-04 363 len = sg_dma_len(sg) >> PAGE_SHIFT; a1e0e546 Ben Widawsky 2012-11-04 364 for (m = 0; m < len; m++) { a1e0e546 Ben Widawsky 2012-11-04 365 addr = sg_dma_address(sg) + (m << PAGE_SHIFT); a1e0e546 Ben Widawsky 2012-11-04 @366 gtt_entries[i] = pte_encode(dev, addr, level); a1e0e546 Ben Widawsky 2012-11-04 367 i++; a1e0e546 Ben Widawsky 2012-11-04 368 } a1e0e546 Ben Widawsky 2012-11-04 369 } a1e0e546 Ben Widawsky 2012-11-04 370 a1e0e546 Ben Widawsky 2012-11-04 371 BUG_ON(i > max_entries); a1e0e546 Ben Widawsky 2012-11-04 372 BUG_ON(i != obj->base.size / PAGE_SIZE); a1e0e546 Ben Widawsky 2012-11-04 373 a1e0e546 Ben Widawsky 2012-11-04 374 /* XXX: This serves as a posting read to make sure that the PTE has --- 0-DAY kernel build testing backend Open Source Technology Center Fengguang Wu, Yuanhan Liu Intel Corporation
[drm_crtc_init] BUG: unable to handle kernel NULL pointer dereference at (null)
Greetings, I got the below dmesg and the first bad commit is commit e2764a21797682598150002f00ae58271cd875ef Author: Rob Clark Date: Fri Oct 4 18:07:42 2013 -0400 drm: convert crtc to properties/state (pageflip) Break the mutable state of a crtc out into a separate structure and use atomic properties mechanism to set crtc attributes. This makes it easier to have some helpers for crtc->set_property() and for checking for invalid params. The idea is that individual drivers can wrap the state struct in their own struct which adds driver specific parameters, for easy build-up of state across multiple set_property() calls and for easy atomic commit or roll- back. [8.465714] [TTM] Zone kernel: Available graphics memory: 85184 kiB [8.468118] [TTM] Initializing pool allocator [8.470441] BUG: unable to handle kernel NULL pointer dereference at (null) [8.474052] IP: [] drm_crtc_init+0x20/0x110 [8.475963] *pdpt = *pde = f000ff53f000ff53 [8.478829] Oops: 0002 [#1] DEBUG_PAGEALLOC [8.480018] CPU: 0 PID: 1 Comm: swapper Not tainted 3.12.0-rc3-00010-ge2764a2 #52 [8.480018] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [8.480018] task: c0018000 ti: c001a000 task.ti: c001a000 [8.480018] EIP: 0060:[] EFLAGS: 00010246 CPU: 0 [8.480018] EIP is at drm_crtc_init+0x20/0x110 [8.480018] EAX: EBX: c6970790 ECX: c2a2fe00 EDX: c69cd008 [8.480018] ESI: c69cd008 EDI: c69cd018 EBP: c001bd58 ESP: c001bd40 [8.480018] DS: 007b ES: 007b FS: GS: 00e0 SS: 0068 [8.480018] CR0: 8005003b CR2: CR3: 03d45000 CR4: 06b0 [8.480018] Stack: [8.480018] 05c0 c69cd008 c1a7d8ba c69c5008 c69cd008 c6970790 c001bd78 c1a7d8e5 [8.480018] 0001 c6970790 c69c5008 c6970790 c69c5008 c001bd9c c1a7c2a5 [8.480018] c6970adc c6970790 c6970790 cd4c9420 0001 c001bddc [8.480018] Call Trace: [8.480018] [] ? cirrus_modeset_init+0x7a/0x290 [8.480018] [] cirrus_modeset_init+0xa5/0x290 [8.480018] [] cirrus_driver_load+0xf5/0x190 [8.480018] [] drm_get_pci_dev+0x203/0x420 [8.480018] [] cirrus_pci_probe+0x11b/0x150 [8.480018] [] pci_device_probe+0x49/0x140 [8.480018] [] driver_probe_device+0x159/0x3b0 [8.480018] [] ? __device_attach+0x60/0x60 [8.480018] [] __driver_attach+0xa9/0x100 [8.480018] [] ? __device_attach+0x60/0x60 [8.480018] [] bus_for_each_dev+0x74/0xc0 [8.480018] [] driver_attach+0x1e/0x20 [8.480018] [] ? __device_attach+0x60/0x60 [8.480018] [] bus_add_driver+0x111/0x400 [8.480018] [] driver_register+0xd7/0x1a0 [8.480018] [] __pci_register_driver+0x4a/0x50 [8.480018] [] drm_pci_init+0xaa/0x130 [8.480018] [] ? mgag200_init+0x3c/0x3c [8.480018] [] cirrus_init+0x32/0x3c [8.480018] [] do_one_initcall+0x93/0x197 [8.480018] [] ? strlen+0x9/0x20 [8.480018] [] ? repair_env_string+0x2a/0x99 [8.480018] [] ? parse_args+0x33c/0x510 [8.480018] [] ? trace_hardirqs_on+0xb/0x10 [8.480018] [] kernel_init_freeable+0xf2/0x1d5 [8.480018] [] ? do_early_param+0xb5/0xb5 [8.480018] [] kernel_init+0x10/0x1c0 [8.480018] [] ret_from_kernel_thread+0x1b/0x30 [8.480018] [] ? rest_init+0x170/0x170 [8.480018] Code: b6 00 00 00 00 8d bf 00 00 00 00 55 89 e5 57 56 53 83 ec 0c e8 32 76 e2 00 89 d6 89 c3 89 06 8d 7e 10 8b 42 78 89 8a 4c 01 00 00 <80> 20 fe 89 d8 e8 e6 b3 ff ff b9 38 ab 2e c4 89 f8 ba 7d 7c 2d [8.480018] EIP: [] drm_crtc_init+0x20/0x110 SS:ESP 0068:c001bd40 [8.480018] CR2: [8.561397] ---[ end trace 7a515980e3b79f1d ]--- git bisect start e2764a21797682598150002f00ae58271cd875ef 15c03dd4859ab16f9212238f29dd315654aa94f6 -- git bisect good a342a57d8f30a35a7397d4d950b852913270e48b # 17:21 20+ drm: split property values out git bisect good e184cbdf891bcb7e94b4aef45fb009897e3dd014 # 17:23 20+ drm: Allow drm_mode_object_find() to look up an object of any type git bisect good 2efab5f3331dbbf7c62d66811374d7f44a9a0754 # 17:26 20+ drm: convert plane to properties/state git bisect good 2efab5f3331dbbf7c62d66811374d7f44a9a0754 # 17:29 60+ drm: convert plane to properties/state git bisect bad e2764a21797682598150002f00ae58271cd875ef # 17:29 0- drm: convert crtc to properties/state (pageflip) git bisect good ec8720598ab7101ffdcdce4a6bf29c3184011487 # 17:43 60+ Revert "drm: convert crtc to properties/state (pageflip)" git bisect good 7dee8dff47734ee52da2cd8b8ea9736e42c5062f # 17:49 60+ Merge tag 'pm+acpi-3.12-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm git bisect good a0cf1abc25ac197dd97b857c0f6341066a8cb1cf # 18:13 60+ Add linux-next specific files for 20130927 Thanks, Fengguang -- next part -- [0.00] Linux version 3.12.0-rc3-00010-ge2764a2 (kbuild at roam) (gcc version 4.8.1 (Debian 4.8.1
[DRM_CURRUS_QEMU/timer] WARNING: CPU: 0 PID: 1 at debug_print_object()
Hi all, It's this one config that triggers the oops: CONFIG_DRM_CIRRUS_QEMU Full kconfig is attached. CONFIG_DEBUG_LIST has been enabled. What's interesting is that parport_pc is showing up in the call traces. dmesg log for two kernel boots: % kvm-0day.sh arch/x86/boot/bzImage [0.00] Initializing cgroup subsys cpuset [0.00] Initializing cgroup subsys cpu [0.00] Linux version 3.11.0-rc2-00010-gc817a67-dirty (wfg at bee) (gcc version 4.6.3 (Debian 4.6.3-1) ) #21 SMP PREEMPT Tue Oct 8 12:13:02 CST 2013 [0.00] Command line: hung_task_panic=1 rcutree.rcu_cpu_stall_timeout=100 log_buf_len=8M debug sched_debug ignore_loglevel apic=debug dynamic_printk sysrq_always_enabled panic=10 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw [0.00] e820: BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x0009fbff] usable [0.00] BIOS-e820: [mem 0x0009fc00-0x0009] reserved [0.00] BIOS-e820: [mem 0x000f-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0x0fffdfff] usable [0.00] BIOS-e820: [mem 0x0fffe000-0x0fff] reserved [0.00] BIOS-e820: [mem 0xfeffc000-0xfeff] reserved [0.00] BIOS-e820: [mem 0xfffc-0x] reserved [0.00] debug: ignoring loglevel setting. [0.00] NX (Execute Disable) protection: active [0.00] Hypervisor detected: KVM [0.00] e820: update [mem 0x-0x0fff] usable ==> reserved [0.00] e820: remove [mem 0x000a-0x000f] usable [0.00] e820: last_pfn = 0xfffe max_arch_pfn = 0x4 [0.00] Scan for SMP in [mem 0x-0x03ff] [0.00] Scan for SMP in [mem 0x0009fc00-0x0009] [0.00] Scan for SMP in [mem 0x000f-0x000f] [0.00] found SMP MP-table at [mem 0x000f1840-0x000f184f] mapped at [880f1840] [0.00] mpc: f1850-f193c [0.00] Base memory trampoline at [88099000] 99000 size 24576 [0.00] init_memory_mapping: [mem 0x-0x000f] [0.00] [mem 0x-0x000f] page 4k [0.00] BRK [0x0287, 0x02870fff] PGTABLE [0.00] BRK [0x02871000, 0x02871fff] PGTABLE [0.00] BRK [0x02872000, 0x02872fff] PGTABLE [0.00] init_memory_mapping: [mem 0x0e60-0x0e7f] [0.00] [mem 0x0e60-0x0e7f] page 4k [0.00] BRK [0x02873000, 0x02873fff] PGTABLE [0.00] init_memory_mapping: [mem 0x0c00-0x0e5f] [0.00] [mem 0x0c00-0x0e5f] page 4k [0.00] BRK [0x02874000, 0x02874fff] PGTABLE [0.00] init_memory_mapping: [mem 0x0010-0x0bff] [0.00] [mem 0x0010-0x0bff] page 4k [0.00] init_memory_mapping: [mem 0x0e80-0x0fffdfff] [0.00] [mem 0x0e80-0x0fffdfff] page 4k [0.00] log_buf_len: 8388608 [0.00] early log buf free: 128344(97%) [0.00] RAMDISK: [mem 0x0e8d6000-0x0ffe] [0.00] ACPI: RSDP 000f16b0 00014 (v00 BOCHS ) [0.00] ACPI: RSDT 0fffe3f0 00034 (v01 BOCHS BXPCRSDT 0001 BXPC 0001) [0.00] ACPI: FACP 0f80 00074 (v01 BOCHS BXPCFACP 0001 BXPC 0001) [0.00] ACPI: DSDT 0fffe430 01137 (v01 BXPC BXDSDT 0001 INTL 20100528) [0.00] ACPI: FACS 0f40 00040 [0.00] ACPI: SSDT 06a0 00899 (v01 BOCHS BXPCSSDT 0001 BXPC 0001) [0.00] ACPI: APIC 05b0 00080 (v01 BOCHS BXPCAPIC 0001 BXPC 0001) [0.00] ACPI: HPET 0570 00038 (v01 BOCHS BXPCHPET 0001 BXPC 0001) [0.00] ACPI: Local APIC address 0xfee0 [0.00] mapped APIC to ff5bb000 (fee0) [0.00] kvm-clock: Using msrs 4b564d01 and 4b564d00 [0.00] kvm-clock: cpu 0, msr 0:e896001, boot clock [0.00] Zone ranges: [0.00] DMA32[mem 0x1000-0x] [0.00] Normal empty [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x1000-0x0009efff] [0.00] node 0: [mem 0x0010-0x0fffdfff] [0.00] On node 0 totalpages: 65436 [0.00] DMA32 zone: 1024 pages used for memmap [0.00] DMA32 zone: 21 pages reserved [0.00] DMA32 zone: 65436 pages, LIFO batch:15 [0.00] ACPI: PM-Timer IO Port: 0xb008 [0.00] ACPI: Local APIC address 0xfee0 [0.00] mapped APIC to ff5bb000 (fee0) [0.00] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [0.00] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled) [0.00] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1]) [0.00] ACPI: IOAPIC (id[0x00] address[0xfec0] gsi_base[0]) [0.00] I
[vt_console_print/cirrus_dirty_update] WARNING: at kernel/mutex.c:858 mutex_trylock()
Greetings, I got the below dmesg and the first bad commit is commit 3d71c6ed43d838e593538176a9a59debe228cfb0 Author: Maarten Lankhorst Date: Tue Apr 2 12:33:01 2013 +0200 drm/ttm: convert to the reservation api Now that the code is compatible in semantics, flip the switch. Use ww_mutex instead of the homegrown implementation. Signed-off-by: Maarten Lankhorst [ 13.044298] printing local APIC contents on CPU#0/0: [ 13.044313] [ cut here ] [ 13.044367] WARNING: at /c/kernel-tests/src/tip/kernel/mutex.c:858 mutex_trylock+0x87/0x220() [ 13.044378] DEBUG_LOCKS_WARN_ON(in_interrupt()) [ 13.044378] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.10.0-rc4-00296-ga2963dd #20 [ 13.044379] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 [ 13.044390] 0009 88000de039f8 81fc86d5 88000de03a38 [ 13.044395] 810d511b 8818 88000f33c690 0001 [ 13.044398] 03f0 88000f4677c8 88000de03a98 [ 13.044400] Call Trace: [ 13.044412][] dump_stack+0x19/0x1b [ 13.01] [] warn_slowpath_common+0x6b/0x90 [ 13.05] [] warn_slowpath_fmt+0x46/0x50 [ 13.08] [] mutex_trylock+0x87/0x220 [ 13.044482] [] cirrus_dirty_update+0x1cd/0x330 [ 13.044486] [] cirrus_imageblit+0x38/0x50 [ 13.044506] [] soft_cursor+0x22e/0x240 [ 13.044510] [] bit_cursor+0x581/0x5b0 [ 13.044525] [] ? vsnprintf+0x124/0x670 [ 13.044529] [] ? get_color.isra.16+0x43/0x130 [ 13.044532] [] fbcon_cursor+0x18a/0x1d0 [ 13.044535] [] ? update_attr.isra.2+0xa0/0xa0 [ 13.044556] [] hide_cursor+0x32/0xa0 [ 13.044565] [] vt_console_print+0x103/0x3b0 [ 13.044569] [] ? print_time+0x9c/0xb0 [ 13.044576] [] ? print_prefix+0xa0/0xc0 [ 13.044580] [] call_console_drivers.constprop.6+0x146/0x1f0 [ 13.044593] [] ? do_raw_spin_unlock+0xc8/0x100 [ 13.044597] [] console_unlock+0x2f7/0x460 [ 13.044600] [] vprintk_emit+0x59a/0x5e0 [ 13.044615] [] printk+0x4d/0x4f [ 13.044650] [] print_local_APIC+0x28/0x41c [ 13.044672] [] generic_smp_call_function_single_interrupt+0x145/0x2b0 [ 13.044688] [] smp_call_function_single_interrupt+0x27/0x40 [ 13.044697] [] call_function_single_interrupt+0x72/0x80 [ 13.044707][] ? native_safe_halt+0x6/0x10 [ 13.044717] [] ? trace_hardirqs_on+0xd/0x10 [ 13.044738] [] default_idle+0x59/0x120 [ 13.044742] [] arch_cpu_idle+0x18/0x40 [ 13.044754] [] cpu_startup_entry+0x235/0x410 [ 13.044763] [] rest_init+0xd1/0xe0 [ 13.044766] [] ? rest_init+0x5/0xe0 [ 13.044778] [] start_kernel+0x425/0x493 [ 13.044781] [] ? repair_env_string+0x5e/0x5e [ 13.044786] [] x86_64_start_reservations+0x2a/0x2c [ 13.044789] [] x86_64_start_kernel+0xf1/0x100 [ 13.044799] ---[ end trace 113ad28772af4058 ]--- git bisect start a2963dd6085970cbf5e09ab67fd57b2cb396f3b9 v3.9 -- git bisect good 73287a43cc79ca06629a88d1a199cd283f42456a #10 2013-06-05 22:52:59 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next git bisect good 2e378f3eebd28feefbb1f9953834a5a19482f053 #10 2013-06-05 23:11:57 Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 git bisect good a1f0bcccffe508b36f8eb0bd39771d4bedc683a8 #10 2013-06-05 23:23:44 Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze git bisect good 72dd4e7980bf584fa11db4f00e38d5cf956a8856 #10 2013-06-06 00:45:04 Merge git://git.kernel.org/pub/scm/virt/kvm/kvm git bisect good 279838960484fa22d903086eea743a6b6700647d #10 2013-06-06 00:55:21 powerpc/pci: Remove the stale comments of pci_process_bridge_OF_ranges git bisect good a1f2cc73c762868435ae6ec9126bb2240337c61c #10 2013-06-06 01:20:30 drm/i915: add I915_PARAM_HAS_VEBOX to i915_getparam git bisect good 6cf3c736200e3924d8ce6b37e5006a4598b9236d #10 2013-06-06 02:33:37 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs git bisect good 0e32fde96bb9c1fa8fa477e52c1d6ae2f4995cea #10 2013-06-06 04:09:34 Merge branch 'drm-nouveau-fixes-3.10' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes git bisect good d7fe0cc0f2e0b302b247caa4306915a06218e0be #10 2013-06-06 04:18:24 drm/i915: Fix DSPCLK_GATE_D for VLV git bisect good f0e07e4668afdea1755a1e28a9649261afe980b3 #10 2013-06-06 04:28:12 drm/nouveau: make flipping lockdep safe git bisect good 979c3c0bdb21017cc6e00d20349f0ee0347dd5a7 #10 2013-06-06 05:36:07 Merge remote-tracking branch 'drm-exynos/exynos-drm-next' into devel-cairo-x86_64-201306051657 git bisect bad 37fbcd59bdc8c309bc98957ff51021bbdff45606 # 0 2013-06-06 05:41:47 drm/mgag200: inline reservations git bisect bad 1e9e9d11aa358123dd721dba5075e23c03b49957 # 0 2013-06-06 05:51:10 drm/ast: inline reservations git bisect bad 3d71c6ed43d838e593538176a9a59debe228cfb0 # 0 2013-06-06 05:57:39 drm/ttm: convert to the reservation a
[vt_console_print/cirrus_dirty_update] WARNING: at kernel/mutex.c:858 mutex_trylock()
Hi Maarten, Thanks for the patch! I'll queue it for the tests. Thanks, Fengguang On Thu, Jun 06, 2013 at 09:23:15AM +0200, Maarten Lankhorst wrote: > Hey, > > Op 06-06-13 03:35, Fengguang Wu schreef: > > Greetings, > > > > I got the below dmesg and the first bad commit is > > > > commit 3d71c6ed43d838e593538176a9a59debe228cfb0 > > Author: Maarten Lankhorst > > Date: Tue Apr 2 12:33:01 2013 +0200 > > > > drm/ttm: convert to the reservation api > > > > Now that the code is compatible in semantics, flip the switch. > > Use ww_mutex instead of the homegrown implementation. > > > > Signed-off-by: Maarten Lankhorst > > > > [ 13.044298] printing local APIC contents on CPU#0/0: > > [ 13.044313] [ cut here ] > > [ 13.044367] WARNING: at /c/kernel-tests/src/tip/kernel/mutex.c:858 > > mutex_trylock+0x87/0x220() > > [ 13.044378] DEBUG_LOCKS_WARN_ON(in_interrupt()) > > [ 13.044378] CPU: 0 PID: 0 Comm: swapper/0 Not tainted > > 3.10.0-rc4-00296-ga2963dd #20 > > [ 13.044379] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2007 > > [ 13.044390] 0009 88000de039f8 81fc86d5 > > 88000de03a38 > > [ 13.044395] 810d511b 8818 88000f33c690 > > 0001 > > [ 13.044398] 03f0 88000f4677c8 > > 88000de03a98 > > [ 13.044400] Call Trace: > > [ 13.044412][] dump_stack+0x19/0x1b > > [ 13.01] [] warn_slowpath_common+0x6b/0x90 > > [ 13.05] [] warn_slowpath_fmt+0x46/0x50 > > [ 13.08] [] mutex_trylock+0x87/0x220 > > [ 13.044482] [] cirrus_dirty_update+0x1cd/0x330 > > [ 13.044486] [] cirrus_imageblit+0x38/0x50 > > [ 13.044506] [] soft_cursor+0x22e/0x240 > > [ 13.044510] [] bit_cursor+0x581/0x5b0 > > [ 13.044525] [] ? vsnprintf+0x124/0x670 > > [ 13.044529] [] ? get_color.isra.16+0x43/0x130 > > [ 13.044532] [] fbcon_cursor+0x18a/0x1d0 > > [ 13.044535] [] ? update_attr.isra.2+0xa0/0xa0 > > [ 13.044556] [] hide_cursor+0x32/0xa0 > > [ 13.044565] [] vt_console_print+0x103/0x3b0 > > [ 13.044569] [] ? print_time+0x9c/0xb0 > > [ 13.044576] [] ? print_prefix+0xa0/0xc0 > > [ 13.044580] [] > > call_console_drivers.constprop.6+0x146/0x1f0 > > [ 13.044593] [] ? do_raw_spin_unlock+0xc8/0x100 > > [ 13.044597] [] console_unlock+0x2f7/0x460 > > [ 13.044600] [] vprintk_emit+0x59a/0x5e0 > > [ 13.044615] [] printk+0x4d/0x4f > > [ 13.044650] [] print_local_APIC+0x28/0x41c > > [ 13.044672] [] > > generic_smp_call_function_single_interrupt+0x145/0x2b0 > > [ 13.044688] [] > > smp_call_function_single_interrupt+0x27/0x40 > > [ 13.044697] [] > > call_function_single_interrupt+0x72/0x80 > > [ 13.044707][] ? native_safe_halt+0x6/0x10 > > [ 13.044717] [] ? trace_hardirqs_on+0xd/0x10 > > [ 13.044738] [] default_idle+0x59/0x120 > > [ 13.044742] [] arch_cpu_idle+0x18/0x40 > > [ 13.044754] [] cpu_startup_entry+0x235/0x410 > > [ 13.044763] [] rest_init+0xd1/0xe0 > > [ 13.044766] [] ? rest_init+0x5/0xe0 > > [ 13.044778] [] start_kernel+0x425/0x493 > > [ 13.044781] [] ? repair_env_string+0x5e/0x5e > > [ 13.044786] [] x86_64_start_reservations+0x2a/0x2c > > [ 13.044789] [] x86_64_start_kernel+0xf1/0x100 > > [ 13.044799] ---[ end trace 113ad28772af4058 ]--- > Thanks for catching this, I'm uncertain how to proceed here. Can you try > below patch? > > diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c > b/drivers/gpu/drm/cirrus/cirrus_fbdev.c > index 3541b56..b27e956 100644 > --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c > +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c > @@ -25,7 +25,7 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, > struct cirrus_bo *bo; > int src_offset, dst_offset; > int bpp = (afbdev->gfb.base.bits_per_pixel + 7)/8; > - int ret; > + int ret = -EBUSY; > bool unmap = false; > bool store_for_later = false; > int x2, y2; > @@ -39,7 +39,8 @@ static void cirrus_dirty_update(struct cirrus_fbdev *afbdev, >* then the BO is being moved and we should >* store up the damage until later. >*/ > - ret = cirrus_bo_reserve(bo, true); > + if (!in_interrupt()) > + ret = cirrus_bo_reserve(bo, true); > if (ret) { > if (ret != -EBUSY) > return;
[inconsistent HARDIRQ usage] &dev->mode_config.idr_mutex at drm_mode_object_find()
Maarten, Sorry for the delay! On Sun, Jun 09, 2013 at 08:58:44AM +0200, Maarten Lankhorst wrote: > Hey, > > Op 06-06-13 09:28, Fengguang Wu schreef: > > Hi Maarten, > > > > Thanks for the patch! I'll queue it for the tests. > > > > > I haven't heard back from you yet, did it fix all lockdep issues you were > having? > If so I'll get it queued. Booted 1000 kernels with the patch, I no longer see the mutex_trylock() warning. However there is one single occurrence of this warning. Not sure how relevant it is. [ 347.858442] = [ 347.858442] [ INFO: inconsistent lock state ] [ 347.858442] 3.9.0-rc5-00675-ga35505b #60 Not tainted [ 347.858442] - [ 347.858442] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. [ 347.858442] umount/122 [HC1[1]:SC0[0]:HE0:SE1] takes: [ 347.858442] (&dev->mode_config.idr_mutex){?.+.+.}, at: [] drm_mode_object_find+0xf2/0x110 Thanks, Fengguang PS. full dmesg. [0.00] Initializing cgroup subsys cpu [0.00] Linux version 3.9.0-rc5-00675-ga35505b (kbuild at cairo) (gcc version 4.7.2 (Debian 4.7.2-4) ) #60 SMP Mon Jun 10 03:33:41 CST 2013 [0.00] Command line: hung_task_panic=1 rcutree.rcu_cpu_stall_timeout=100 log_buf_len=8M ignore_loglevel debug sched_debug apic=debug dynamic_printk sysrq_always_enabled panic=10 prompt_ramdisk=0 console=ttyS0,115200 console=tty0 vga=normal root=/dev/ram0 rw link=/kernel-tests/run-queue/kvm/x86_64-randconfig-c00-0605/wfg:0day/.vmlinuz-a35505b46be17ab9c91d77bf0b47df477b7181e1-20130610063801-720-ant branch=wfg/0day noapic nolapic nohz=off BOOT_IMAGE=/kernel/x86_64-randconfig-c00-0605/a35505b46be17ab9c91d77bf0b47df477b7181e1/vmlinuz-3.9.0-rc5-00675-ga35505b [0.00] e820: BIOS-provided physical RAM map: [0.00] BIOS-e820: [mem 0x-0x00093bff] usable [0.00] BIOS-e820: [mem 0x00093c00-0x0009] reserved [0.00] BIOS-e820: [mem 0x000f-0x000f] reserved [0.00] BIOS-e820: [mem 0x0010-0x0fffdfff] usable [0.00] BIOS-e820: [mem 0x0fffe000-0x0fff] reserved [0.00] BIOS-e820: [mem 0xfffc-0x] reserved [0.00] debug: ignoring loglevel setting. [0.00] NX (Execute Disable) protection: active [0.00] SMBIOS 2.4 present. [0.00] DMI: Bochs Bochs, BIOS Bochs 01/01/2007 [0.00] e820: update [mem 0x-0x0fff] usable ==> reserved [0.00] e820: remove [mem 0x000a-0x000f] usable [0.00] No AGP bridge found [0.00] e820: last_pfn = 0xfffe max_arch_pfn = 0x4 [0.00] MTRR default type: write-back [0.00] MTRR fixed ranges enabled: [0.00] 0-9 write-back [0.00] A-B uncachable [0.00] C-F write-protect [0.00] MTRR variable ranges enabled: [0.00] 0 base 00E000 mask FFE000 uncachable [0.00] 1 disabled [0.00] 2 disabled [0.00] 3 disabled [0.00] 4 disabled [0.00] 5 disabled [0.00] 6 disabled [0.00] 7 disabled [0.00] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 [0.00] Scan for SMP in [mem 0x-0x03ff] [0.00] Scan for SMP in [mem 0x0009fc00-0x0009] [0.00] Scan for SMP in [mem 0x000f-0x000f] [0.00] found SMP MP-table at [mem 0x000fdab0-0x000fdabf] mapped at [880fdab0] [0.00] mpc: fdac0-fdbe4 [0.00] Base memory trampoline at [8808d000] 8d000 size 24576 [0.00] init_memory_mapping: [mem 0x-0x000f] [0.00] [mem 0x-0x000f] page 4k [0.00] BRK [0x035f3000, 0x035f3fff] PGTABLE [0.00] BRK [0x035f4000, 0x035f4fff] PGTABLE [0.00] BRK [0x035f5000, 0x035f5fff] PGTABLE [0.00] init_memory_mapping: [mem 0x0e60-0x0e7f] [0.00] [mem 0x0e60-0x0e7f] page 2M [0.00] init_memory_mapping: [mem 0x0c00-0x0e5f] [0.00] [mem 0x0c00-0x0e5f] page 2M [0.00] init_memory_mapping: [mem 0x0010-0x0bff] [0.00] [mem 0x0010-0x001f] page 4k [0.00] [mem 0x0020-0x0bff] page 2M [0.00] init_memory_mapping: [mem 0x0e80-0x0fffdfff] [0.00] [mem 0x0e80-0x0fdf] page 2M [0.00] [mem 0x0fe0-0x0fffdfff] page 4k [0.00] BRK [0x035f6000, 0x035f6fff] PGTABLE [0.00] log_buf_len: 8388608 [0.00] early log buf free: 127440(97%) [0.00] RAMDISK: [mem 0x0e8d6000-0x0ffe] [0.00] ACPI: RSDP 000fd920 00014 (v00 BOCHS ) [0.00] ACPI: RSDT 0fffe550 00038 (v01 BOCHS BXPCRSDT 0001 BXPC 0001) [0.00] ACPI: FACP 0f80 0
[drm] WARNING: at kernel/workqueue.c:1432 __queue_delayed_work()
Greetings, I got the below warning and the first bad commit is commit be37835619fce22d3f46c5a591bbf0bbcb2288e4 Author: Daniel Vetter Date: Thu Jun 6 00:17:25 2013 +0200 drm: kms_helper: don't lose hotplug event There's a race window (small for hpd, 10s large for polled outputs) where userspace could sneak in with an unrelated connnector probe ioctl call and eat the hotplug event (since neither the hpd nor the poll code see a state change). To avoid this, check whether the connector state changes in all other ->detect calls (in the current helper code that's only probe_single) and if that's the case, fire off a hotplug event. Note that we can't directly call the hotplug event handler, since that expects that no locks are held (due to reentrancy with the fb code to update the kms console). Also, this requires that drivers using the probe_single helper function set up the poll work. All current drivers do that already, and with the reworked hpd handling there'll be no downside to unconditionally setting up the poll work any more. Reviewed-by: Chris Wilson Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie [3.829957] [TTM] Initializing pool allocator [3.830706] [ cut here ] [3.831240] WARNING: at /c/kernel-tests/src/linux/kernel/workqueue.c:1432 __queue_delayed_work+0x81/0x247() [3.832303] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc7-wl-01596-gb53e037 #1 [3.833158] 85429d24 798531bf 85429d3c 7906c42f 790831cf 0201 [3.834185] 0001 7ea3ec14 85429d4c 7906c4d7 0009 85429d70 790831cf [3.835827] 8542b770 7ea3ec34 0020 0001 0246 0020 85429d90 [3.836829] Call Trace: [3.837115] [<798531bf>] dump_stack+0x16/0x18 [3.837597] [<7906c42f>] warn_slowpath_common+0x48/0x5f [3.838154] [<790831cf>] ? __queue_delayed_work+0x81/0x247 [3.838740] [<7906c4d7>] warn_slowpath_null+0x14/0x18 [3.839278] [<790831cf>] __queue_delayed_work+0x81/0x247 [3.839849] [<79084358>] queue_delayed_work_on+0x42/0x59 [3.840437] [<792d944c>] schedule_delayed_work+0x16/0x18 [3.840453] [<792da72b>] drm_helper_probe_single_connector_modes+0xf5/0x2be [3.840453] [<792d7821>] drm_fb_helper_probe_connector_modes+0x3a/0x4e [3.840453] [<792d8fdc>] drm_fb_helper_initial_config+0x14d/0x3ae [3.840453] [<79110996>] ? __kmalloc_node+0x6a/0xd6 [3.840453] [<792d9641>] ? drm_helper_disable_unused_functions+0xc3/0xdc [3.840453] [<7934cd7c>] cirrus_fbdev_init+0x7c/0x8d [3.840453] [<7934c623>] cirrus_modeset_init+0x145/0x186 [3.840453] [<7934b925>] cirrus_driver_load+0x88/0xce [3.840453] [<792e4321>] drm_get_pci_dev+0x136/0x214 [3.840453] [<7934c724>] cirrus_pci_probe+0x85/0x91 [3.840453] [<791fbcfa>] pci_device_probe+0x5c/0x94 [3.840453] [<793e4586>] driver_probe_device+0x97/0x1b1 [3.840453] [<793e4724>] __driver_attach+0x53/0x6f [3.840453] [<793e31d4>] bus_for_each_dev+0x3e/0x69 [3.840453] [<793e44a6>] driver_attach+0x19/0x1b [3.840453] [<793e46d1>] ? __device_attach+0x31/0x31 [3.840453] [<793e382e>] bus_add_driver+0xb4/0x1bd [3.840453] [<793e4ef3>] driver_register+0x8c/0xe9 [3.840453] [<791fbb2d>] __pci_register_driver+0x4a/0x4d [3.840453] [<792e4470>] drm_pci_init+0x71/0xc9 [3.840453] [<79df7f16>] ? ftrace_define_fields_intel_gpu_freq_change+0x1c/0x1c [3.840453] [<79df7f31>] cirrus_init+0x1b/0x25 [3.840453] [<79dcaa28>] do_one_initcall+0x6b/0x119 [3.840453] [<79dcabc7>] kernel_init_freeable+0xf1/0x171 [3.840453] [<7984161e>] kernel_init+0xd/0xb9 [3.840453] [<79860cf7>] ret_from_kernel_thread+0x1b/0x28 [3.840453] [<79841611>] ? rest_init+0xb1/0xb1 [3.840453] ---[ end trace 4a7136f8b8f4ca4a ]--- git bisect start b53e037930134d11fa6307162b41fb19b6c43643 9e895ace5d82df8929b16f58e9f515f6d54ab82d -- git bisect bad 3ef6fb0acbf846ec267c86b4b7841ca7cc1fd636 # 09:34 0- Merge remote-tracking branch 'vireshk/cpufreq-fix-notification' into devel-snb-i386-201306280352 git bisect bad e26e8115c78ca2f7e104ad085343e37c544033ae # 09:51 0- alx builtin HACK git bisect good 40ccc72b84a848e6fcbdb38fe716f0ac6939609e # 12:39 20+ drm/i915: release cursor when crtc is destroyed git bisect good d5cfba1b9ce6f1f4add8f3c67fde5243e5549bbd # 12:45 20+ drm/ast: do not attempt to acquire a reservation while in an interrupt handler git bisect bad 395ba7ac59ac1aa4bb07c21e3211c2af04719f0a # 12:50 0- drm/ttm: get rid of ttm_bo_is_reserved git bisect good 1e876e3b1a9df25bb04682b0d48aaa7e8ae1fc82 # 12:55 20+ Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux git bisect bad 1fb4883ad4ae880d2ef100f00624ec7660018186 # 12:59 0- reservation: cross-device reservation support, v4 git bisect good f3cf139efa4bc0fe4f032af6ca3e49e38