Hi! After switching from UMS (dated 20090701+c0bf670) to KMS (as of 2010-02-01), almost any X activity causes buffer underruns on my firewire soundcard. When the X pointer changes from arrow to the vertical text selection bar, firewire streaming is interrupted. Same with scrolling in firefox or hovering over a link, thus changing the pointer to "hand". Looks like nouveau is disabling interrupts now and then, which leads to stalled firewire ISO streaming. I don't know what nouveau's actually doing, I'm just guessing. ;) Firewire audio streaming (www.ffado.org) requires precisely timed DMA transfers. If the kernel/controller/scheduler fails to deliver those packets in time, e.g. due to a ressource with high interrupt load, the audio stream is interrupted and you get audible glitches. I see this behaviour on 06:00.0 VGA compatible controller: nVidia Corporation G71 [GeForce 7300 GS] (rev a1) with Dual-Head (VGA+DVI). I've also uploaded kern.log and Xorg log, though I guess they're not really helpful to trace this problem: http://adi.loris.tv/nouveau-xorg.log http://adi.loris.tv/nouveau-kern.log Note that kern.log also includes an Oops at Feb 1 20:22:43, but I'm not really reporting this issue here. ;) (I rmmod'ed nouveau remotely) Cheerio PS: I (sometimes) have two mouse cursors. My screen layout is xrandr --output DVI-I-1 --right-of VGA-1 and when moving the mouse from the left screen to the right, a static (not moving) cursor stays on the left screen. It changes its appearance simultaneously with the real (moving) cursor on the right screen, that is, if the right pointer is a hand, the left pointer also becomes a hand, a.s.o. Moving the mouse back to the left screen re-activates movement of the left cursor and no additional cursor is left on the right screen. But I'm not reporting this issue here, the firewire stuff is more important. PPS: If you prefer Bugzilla, I can re-report there. I just started with the mailinglist in case the ISO streaming requires some extended discussion. -- mail: adi at thur.de http://adi.thur.de PGP/GPG: key via keyserver
Maarten Maathuis
2010-Feb-02 13:35 UTC
[Nouveau] nouveau interrupts firewire ISO streaming
On Tue, Feb 2, 2010 at 2:15 PM, Adrian Knoth <adi at drcomp.erfurt.thur.de> wrote:> Hi! > > After switching from UMS (dated 20090701+c0bf670) to KMS (as of > 2010-02-01), almost any X activity causes buffer underruns on my > firewire soundcard. > > When the X pointer changes from arrow to the vertical text selection > bar, firewire streaming is interrupted. Same with scrolling in firefox > or hovering over a link, thus changing the pointer to "hand". > > Looks like nouveau is disabling interrupts now and then, which leads to > stalled firewire ISO streaming. I don't know what nouveau's actually > doing, I'm just guessing. ;)I don't think interrupts are disabled for uploading a cursor, more likely is that your firewire driver depends on the big kernel lock. At the moment we still hold that. That said, i don't think nouveau can make any kind of latency garuantees. We do intend to go to a design that doesn't rely on the BKL at some point, but i wouldn't expect that to happen this month.> > Firewire audio streaming (www.ffado.org) requires precisely timed DMA > transfers. If the kernel/controller/scheduler fails to deliver those > packets in time, e.g. ?due to a ressource with high interrupt load, the > audio stream is interrupted and you get audible glitches. > > I see this behaviour on > > 06:00.0 VGA compatible controller: nVidia Corporation G71 [GeForce 7300 > GS] (rev a1) > > with Dual-Head (VGA+DVI). > > > I've also uploaded kern.log and Xorg log, though I guess they're not > really helpful to trace this problem: > > ? http://adi.loris.tv/nouveau-xorg.log > > ? http://adi.loris.tv/nouveau-kern.log > > Note that kern.log also includes an Oops at Feb ?1 20:22:43, but I'm not > really reporting this issue here. ;) (I rmmod'ed nouveau remotely) > > > > Cheerio > > > > PS: I (sometimes) have two mouse cursors. My screen layout is > > ? ? xrandr --output DVI-I-1 --right-of VGA-1 > > and when moving the mouse from the left screen to the right, a static > (not moving) cursor stays on the left screen. It changes its appearance > simultaneously with the real (moving) cursor on the right screen, that > is, if the right pointer is a hand, the left pointer also becomes a > hand, a.s.o. > > Moving the mouse back to the left screen re-activates movement of the > left cursor and no additional cursor is left on the right screen. > > But I'm not reporting this issue here, the firewire stuff is more > important. > > > PPS: If you prefer Bugzilla, I can re-report there. I just started with > the mailinglist in case the ISO streaming requires some extended > discussion. > > -- > mail: adi at thur.de ? ? ? http://adi.thur.de ? ? ?PGP/GPG: key via keyserver > _______________________________________________ > Nouveau mailing list > Nouveau at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/nouveau >