Re: [Nouveau] noveau: emergency shutdown handling is overcomplex and broken
On Tue 2016-10-25 13:09:25, Karol Herbst wrote: > Thanks for the pointer. > > But I don't like this patch. If you find a bug, make a bug report or > just fix it if you know the fix already. Or write something in > IRC. Or I found a bug, and this is my bug report. Can you take care and fix it? Pavel > write on the Mailing list as a general question or something else > > But I really don't agree on doing it this way. You would have needed > like the same amount of time to actual fix the problem. > > Anyway, for adding a printk: > > struct nvkm_subdev *subdev = >subdev; > nvkm_error(subdev, "message"); > > 2016-10-25 12:50 GMT+02:00 Pavel Machek: > > > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > index b9703c0..adb1deb 100644 > > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum > > nvkm_therm_thrs thrs, > > struct work_struct *work; > > > > work = kmalloc(sizeof(*work), GFP_ATOMIC); > > + /* FIXME: > > + 1) this is total overkill, orderly_poweroff() > > already > > + uses schedule_work internally > > + 2) it would be good to at least printk what is > > going on > > + */ > > if (work) { > > INIT_WORK(work, nv_poweroff_work); > > schedule_work(work); > > > > GFP_ATOMIC is not reliable. Plus, see the fixme. > > > > Best regards, > > > > Pavel > > > > -- > > (english) http://www.livejournal.com/~pavelmachek > > (cesky, pictures) > > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > > > > ___ > > Nouveau mailing list > > Nouveau@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/nouveau > > -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau
Re: [Nouveau] noveau: emergency shutdown handling is overcomplex and broken
Thanks for the pointer. But I don't like this patch. If you find a bug, make a bug report or just fix it if you know the fix already. Or write something in IRC. Or write on the Mailing list as a general question or something else But I really don't agree on doing it this way. You would have needed like the same amount of time to actual fix the problem. Anyway, for adding a printk: struct nvkm_subdev *subdev = >subdev; nvkm_error(subdev, "message"); 2016-10-25 12:50 GMT+02:00 Pavel Machek: > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > index b9703c0..adb1deb 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum > nvkm_therm_thrs thrs, > struct work_struct *work; > > work = kmalloc(sizeof(*work), GFP_ATOMIC); > + /* FIXME: > + 1) this is total overkill, orderly_poweroff() > already > + uses schedule_work internally > + 2) it would be good to at least printk what is > going on > + */ > if (work) { > INIT_WORK(work, nv_poweroff_work); > schedule_work(work); > > GFP_ATOMIC is not reliable. Plus, see the fixme. > > Best regards, > Pavel > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > > ___ > Nouveau mailing list > Nouveau@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau > ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau
[Nouveau] noveau: emergency shutdown handling is overcomplex and broken
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c index b9703c0..adb1deb 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum nvkm_therm_thrs thrs, struct work_struct *work; work = kmalloc(sizeof(*work), GFP_ATOMIC); + /* FIXME: + 1) this is total overkill, orderly_poweroff() already + uses schedule_work internally + 2) it would be good to at least printk what is going on + */ if (work) { INIT_WORK(work, nv_poweroff_work); schedule_work(work); GFP_ATOMIC is not reliable. Plus, see the fixme. Best regards, Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature ___ Nouveau mailing list Nouveau@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/nouveau