On Fri, Jan 21, 2022 at 03:31:14PM -0700, Thomas Frohwein wrote:
> On Fri, Jan 21, 2022 at 07:54:29PM +1100, Jonathan Gray wrote:
> > On Thu, Jan 20, 2022 at 04:08:28PM -0700, Thomas Frohwein wrote:
> > > On Fri, Jan 21, 2022 at 12:22:49AM +1100, Jonathan Gray wrote:
> > > > On Wed, Jan 19, 2022 at 11:04:26PM -0800, [email protected] wrote:
> > > [...]
> > > > > The backtrace is kinda nonsensical, showing a copyout() call with no
> > > > > predecessor, but maybe that's just from copy*() not setting up a
> > > > > proper
> > > > > frame? However, that's not a change. Neither has there been any
> > > > > change
> > > > > in the pmap layer in multiple months. The areas of concern IMO are
> > > > > DRM
> > > > > and (because it was the last thing mentioned) iwm, but the former
> > > > > seems
> > > > > _much_ more likely.
> > > >
> > > > Booting bsd.mp with inteldrm disabled works?
> > >
> > > yes, boots and uses llvmpipe after I disable inteldrm*
> >
> > this fixes sleeping with a mtx held found with kern.pool_debug=2
> > which may help
>
> thanks, however no change after I built MP kernel and installed it. Still the
> same pmap error that I posted in the original bug report.
Can you try a kernel with this diff and 'option WITNESS' uncommented
in sys/arch/amd64/conf/GENERIC.MP ?
Index: sys/dev/pci/drm/drm_drv.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/drm/drm_drv.c,v
retrieving revision 1.181
diff -u -p -r1.181 drm_drv.c
--- sys/dev/pci/drm/drm_drv.c 14 Jan 2022 06:52:59 -0000 1.181
+++ sys/dev/pci/drm/drm_drv.c 22 Jan 2022 21:33:37 -0000
@@ -1202,12 +1202,16 @@ drm_attach_platform(struct drm_driver *d
config_found_sm(dev, &arg, drmprint, drmsubmatch);
}
+extern int pool_debug;
+
struct drm_device *
drm_attach_pci(const struct drm_driver *driver, struct pci_attach_args *pa,
int is_agp, int primary, struct device *dev, struct drm_device *drm)
{
struct drm_attach_args arg;
struct drm_softc *sc;
+
+ pool_debug = 2;
arg.drm = drm;
arg.driver = driver;