[drm] bea5b158ff BUG: unable to handle kernel NULL pointer dereference at 0000000000000748

2017-02-17 Thread Fengguang Wu
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

2017-06-23 Thread Fengguang Wu

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

2017-06-23 Thread Fengguang Wu

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)

2017-03-08 Thread Fengguang Wu

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

2014-06-02 Thread Fengguang Wu
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

2013-08-05 Thread Fengguang Wu

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

2013-08-05 Thread Fengguang Wu

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

2013-08-22 Thread Fengguang Wu

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

2016-12-16 Thread Fengguang Wu
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

2016-12-21 Thread Fengguang Wu
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

2016-12-22 Thread Fengguang Wu
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

2016-12-22 Thread Fengguang Wu
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

2016-12-28 Thread Fengguang Wu
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.

2014-09-06 Thread Fengguang Wu
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

2015-04-02 Thread Fengguang Wu
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

2015-09-30 Thread Fengguang Wu
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

2013-08-23 Thread Fengguang Wu

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'

2017-11-14 Thread Fengguang Wu

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'

2017-11-14 Thread Fengguang Wu

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

2017-11-25 Thread Fengguang Wu
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

2012-10-03 Thread Fengguang Wu
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

2012-10-16 Thread Fengguang Wu
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'

2012-08-31 Thread Fengguang Wu
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'

2012-08-31 Thread Fengguang Wu
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

2012-10-03 Thread Fengguang Wu
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

2012-10-15 Thread Fengguang Wu
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 |

2012-11-03 Thread Fengguang Wu
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

2012-11-05 Thread Fengguang Wu

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()

2012-07-06 Thread Fengguang Wu
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()

2012-07-06 Thread Fengguang Wu
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()

2012-07-07 Thread Fengguang Wu
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()

2012-07-10 Thread Fengguang Wu
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()

2012-07-13 Thread Fengguang Wu
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'

2012-07-16 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
> - 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()

2013-06-06 Thread Fengguang Wu
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'

2012-08-12 Thread Fengguang Wu
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'

2012-08-30 Thread Fengguang Wu
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'

2012-08-31 Thread Fengguang Wu
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'

2012-08-31 Thread Fengguang Wu
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()

2012-07-06 Thread Fengguang Wu
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()

2012-07-06 Thread Fengguang Wu
... 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()

2012-07-07 Thread Fengguang Wu
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()

2012-07-07 Thread Fengguang Wu
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

2013-10-12 Thread Fengguang Wu
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

2013-10-12 Thread Fengguang Wu
> >[   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()

2014-03-08 Thread Fengguang Wu
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()

2014-03-21 Thread Fengguang Wu
// 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()

2014-03-23 Thread Fengguang Wu
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

2012-09-19 Thread Fengguang Wu
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

2013-08-05 Thread Fengguang Wu

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

2013-08-05 Thread Fengguang Wu

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()

2012-07-11 Thread Fengguang Wu
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()

2012-07-14 Thread Fengguang Wu
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'

2012-07-17 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
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

2012-07-25 Thread Fengguang Wu
> - 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!

2014-08-05 Thread Fengguang Wu
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

2014-12-17 Thread Fengguang Wu
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

2014-12-18 Thread Fengguang Wu

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()

2014-12-18 Thread Fengguang Wu
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

2014-02-05 Thread Fengguang Wu
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

2014-01-14 Thread Fengguang Wu
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 |

2012-11-03 Thread Fengguang Wu
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

2012-11-06 Thread Fengguang Wu

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)

2013-10-05 Thread Fengguang Wu
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()

2013-10-08 Thread Fengguang Wu
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()

2013-06-06 Thread Fengguang Wu
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()

2013-06-06 Thread Fengguang Wu
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()

2013-06-10 Thread Fengguang Wu
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()

2013-06-30 Thread Fengguang Wu
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