On Monday, November 28, 2016 11:55:19 PM EST Fernando Lopez-Lezcano wrote:
  On 11/01/2016 11:45 PM, termtech wrote:
  On Tuesday, November 1, 2016 2:36:21 PM EDT Chris
Caudle wrote: 
 ...
  Yesterday I read somewhere, and was reminded,
that audio
  processing is a 'serial' task that may not benefit well from
  n-core CPUs and therefore one should choose a CPU with the
  highest possible clock and try to run with fewer cores. 
 At least on Linux this is not necessarily true. It all depends on the
 software you run and what it can do. If it is single threaded yes,
 higher clock speed would help. If not, multiple cores can help. I
 usually use all cores for the stuff I do.
  I must mention something that adds mud, but
clears it up more:
 When I try the on-board sound, or an old spare PCI SoundBlaster Live!,
  the sound is actually OK ;-) 
 Ah... something related to the pci bus then?
 Looking at the waveform it looks like the glitches happen every 256
 samples (more or less). And the glitch itself seems to be around (more
 or less) 8 samples wide at its widest. Then it gets narrower and
 narrower towards the end, then it is just one sample wide and finally it
 disappears...
 Very weird...
  I've yet to verify that statement for this
replacement PC, but it's true
 for>
  the unit it replaced. That test did not bode well for this Delta1010
  card. 
 What motherboard does the pc have? 
It's an ASUS P7P55LX and I've updated the BIOS to the latest.
  On linux the output of dmidecode would have that
information. Does it
 have more than one PCI slot? I presume you tried on all of them if it
 has more than one, right? 
Correct. This one has a few, while the cheaper original replacement
 PC only had one. Both exhibited the problem.
   For that
reason I may chalk this up to just a weird combination
  of this older PCI sound card (PCI rev 2.0 or 2.1 I think) and this
  new-fangled MB and CPU. 
 That could very well be the problem. I have had problems with PCI RME
 soundcards not being happy with a newer faster motherboard and processor
 (they worked fine in older hardware). Progress, I guess. Never managed
 to fix it or really diagnose it, sorry.
 Now as to why the problem stops when you disable two cpus? Wow. How
 about disabling just one? I can only think of some hardware interrupt
 routing problem as a possible cause. But a problem that comes and goes?
 In Linux if you can see this (as root):
 cat /sys/devices/system/cpu/cpu1/online
 You could disable just one cpu while the system is running (you should
 have four):
 For example, running as root this will disable your last cpu:
 echo 0 > cat /sys/devices/system/cpu/cpu3/online
 This should re-enable it:
 echo 1 > cat /sys/devices/system/cpu/cpu3/online 
 
THANK YOU!      IT WORKS!               AWESOME!
Now I don't have to reboot to change cores!
The command as given did not work, though.
I used something similar to a command Ralf gave me:
        echo 1| sudo tee /sys/devices/system/cpu/cpu3/online
I'm just in a hurry and rusty on my Unix command syntax ;-)
The results:
There is no 'online' flag for core-0, which I guess makes sense.
There always must be at least one core running, I suppose.
Fascinating! ANY one or two of the cores are OK,
 yet ANY three or all four of them causes the noises.
I love how I can change it ad hoc. I'm fooling with the settings
 while Jack is running and I'm listening to my test tone for
 30 minutes now on core-0 and core-3, and it's fine.
  (not that this would be a fix, just curious)
 You could also see which cpu is handling the soundcard interrupts if you
 check out this:
 cat /proc/interrupts 
cat /proc/interrupts
           CPU0       CPU3
  0:         86          0   IO-APIC   2-edge      timer
  1:        996       4902   IO-APIC   1-edge      i8042
  8:          1          0   IO-APIC   8-edge      rtc0
  9:          0          0   IO-APIC   9-fasteoi   acpi
 16:         29          0   IO-APIC  16-fasteoi   ehci_hcd:usb1
 17:     157179    2086259   IO-APIC  17-fasteoi   snd_ice1712
 23:       2454       4075   IO-APIC  23-fasteoi   ehci_hcd:usb2
 24:    9623332          0  HPET-MSI   2-edge      hpet2
 25:         10    1390859  HPET-MSI   3-edge      hpet3
 26:          9     114668  HPET-MSI   4-edge
 27:          9      56553  HPET-MSI   5-edge
 29:        450      11519   PCI-MSI 1048576-edge      enp2s0
 30:       8421      16342   PCI-MSI 512000-edge      0000:00:1f.2
 31:     393689      28980   PCI-MSI 524288-edge      nvkm
NMI:        861        809   Non-maskable interrupts
LOC:         20         24   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:        861        809   Performance monitoring interrupts
IWI:          1          0   IRQ work interrupts
RTR:         10          2   APIC ICR read retries
RES:     804163     498891   Rescheduling interrupts
CAL:     159206     103077   Function call interrupts
TLB:       3291       3930   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
DFR:          0          0   Deferred Error APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         27         34   Machine check polls
ERR:          0
MIS:          0
PIN:          0          0   Posted-interrupt notification event
PIW:          0          0   Posted-interrupt wakeup event
Here's the card after 5 minutes (of perfect sound):
           CPU0       CPU3
 17:     157179    2107520   IO-APIC  17-fasteoi   snd_ice1712
--------------------------
Here's the card on three cores:
           CPU0       CPU2       CPU3
 17:     157179      66130    2132276   IO-APIC  17-fasteoi   snd_ice1712
And after 5 minutes (of pops, glitches and drifting):
           CPU0       CPU2       CPU3
 17:     157179      75079    2177916   IO-APIC  17-fasteoi   snd_ice1712
NOTE: I already tried CPU interrupt affinity tools! I forget how exactly ATM.
But I made damn sure it was working by examining the interupt list and
 it was 'all zeros' for the other THREE cores after several minutes. I tried
 tying them specifically to each core, including core-0, and it did NOT work,
 the noises were still there.
  Each column is one cpu, each row is one interrupt
source. The one
 corresponding to your soundcard should be incrementing...
  Maybe there's hope that a driver tweak could
help?
 The Windows driver hasn't been updated in four years.
 Maybe it and the Linux driver share the same problem - needing an update? 
 Are you running a reasonably recent kernel? "uname -r" would tell you
 what you are booting. If both Win* and Linux have the same problem that
 would seem to point to hardware. Not good news. 
4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 x86_64
x86_64 GNU/Linux
   But then, this
MB and the other one are from around 2009/2010 or so.
 If not then it's likely just this hardware combo.
 Heck it could still be /this/ specific unit.
 It would be nice to get some verification from similar users...
 It's just so weird. A brutal stupid ironic introduction to n-core CPUs.
 Happy I can play keys now though. Persistence pays. No new card!
 And at least my *guitar* doesn't need a freakin' CPU, just my brain :-) 
 :
 :-(
 Good luck!
 -- Fernando 
 
Thanks. I hope someone might make a driver fix or something.
At best, a simple configuration file tweak (go Linux!).
I've debugged and contributed to sound drivers before, but whew that's
 major and this might involve PCI or CPU drivers or who knows what,
 I've no time for it right now :-(
Tim.