4) if you submit it you gain a valid share.
This. It won't be considered valid if I'm not mistaken.
|
|
|
Another way to look at it is the hypothetical miner above processes 34 shares. If your analysis was right it would have 1 stale out of 34 even when not merged mining and thus could never have a stale rate of <3%.
And this is probably the best way to see how much "extra" merged mining is costing you. In your status line: SS is Stale Shares discarded (detected and not submitted so don't count as rejects) This will show you shares that might have otherwise been valid if you were not mining merged. cgminer does not submit them so your stale rate actually will not go up as DeathAndTaxes suggested unless you enable the --submit-stale option. (I don't suggest you do).
|
|
|
How about I just run a day with merged mining and a day without and compare U? Does U take into account discarded work due to new block - which is LP request?
Yes, but this assumes luck doesn't change over 24 hours... and it most definitely does so it will be nigh on impossible to prove beyond a shadow of a doubt. Luck of even the biggest pool can be down 40% over 24 hours, and that's over 3 THash of miners.
|
|
|
As much as I'm not a fan of merged mining, I have to say that's (17.3s) wrong. You get to submit a share not long after it's found by the device. Usually the device is out for 1-2 seconds at most depending on card speed, intensity and number of threads. The most work you will lose is one chunk of work submitted to the GPU during the block change that is done needlessly before the GPU can respond again. At most it will amount to say 1 second of work with average settings per block change. That's a change from 1 second with regular mining to 3 seconds with merged mining over an average 10 minutes.
HOWEVER this is all assuming one longpoll only per block change, and poolserverj with merged mining support can do some amazing shit. I've seen up to 10 longpolls...
|
|
|
The LP gnar1ta$ was refering to (5 per share) had nothing to do w/ merge mining. p2pool uses larger shares. 1 p2pool share ~= 150 difficulty 1 shares. It also builds a share chain to continually recalculate reward split and roughly every 10 seconds a new share will be found by the network and thus an LP.
Right, so if my work is being discarded roughly every 10 seconds due to an LP, shouldn't my scantime roughly match that to not waste so much work? Exactly the opposite. If you're already forced to throw out work every 10 seconds, the last thing you want to do is throw out any more work than necessary.
|
|
|
I'll buy your suspected defaults theory. I've only been running it constant for 24 hrs (on defaults) but it looks like the reject ratio and payout are the same - short time to make that assumption though. Just a bit odd looking at those low numbers and seeing 5 longpoll requests to every accepted share.
Yeah merged mining sux doesn't it ... Actually he was on p2pool...
|
|
|
Increasing scantime will allow cgminer to roll the work for longer. Scantime affects rolltime expiration as well.
This is assuming you are on a pool that supports rolltime and allows it for cgminer by the way... edit: Oh and decreasing -q would also "help" efficiency.
|
|
|
On the scantime and intensity topic. Should scantime be increased and intensity decreased when mining on p2pool? I know it works a bit different than regular pools and on my 6950 rig where I usually have an E of 140% and U of 29.xx I now have an E of 4% and U of 3.45. Am I overworking or underworking the cards?
U is proportional to income ... directly ... If it is now 1/10 over a long period of time - that's bad. No, changing to p2pool changes the meaning of everything. I can't directly equate the numbers changing from one to the other, but this is not bad. I don't know enough about p2pool to suggest how to tune it, but I suspect the cgminer defaults are best still. Also note I wasn't suggesting people try to improve their efficiency since it usually adversely affects the miner... I was just explaining how you might go about it.
|
|
|
If the pool does merged mining and is sending non-BTC LP's (i.e. more than just a single BTC LP per network block) to you, it will reduce your efficiency that way.
This is the most likely reason. If you want to increase efficiency (for the pool's sake, not yours), decrease thread count to 1 and increase scan time to say 115 seconds. This sounds a bit wrong. The scantime would be understandable for a slower card that cannot do 2^32 in 60 seconds, but, for a fast card it takes seconds to test them all. Increasing scantime will allow cgminer to roll the work for longer. Scantime affects rolltime expiration as well.
|
|
|
If the pool does merged mining and is sending non-BTC LP's (i.e. more than just a single BTC LP per network block) to you, it will reduce your efficiency that way.
This is the most likely reason. If you want to increase efficiency (for the pool's sake, not yours), decrease thread count to 1 and increase scan time to say 115 seconds.
|
|
|
Seriously if you don't want to run your GPU flat out, decrease the intensity... but this is the most bizarre complaint yet about cgminer, that it extracts more out of your GPU.
|
|
|
CG does make an extra 4Mh/s, but if the 'price to pay' is an extra 5.5C, then it's kinda.. not worth it.
Okay, I'll bite... why? All that extra heat is coming from somewhere. Since I believe in the laws of physics I would have to say it is using more electricity. The heat isn't coming through my internet tubes. It also reduces the lifespan of my video cards. Um... that's like the argument of "use a lower power card".
|
|
|
CG does make an extra 4Mh/s, but if the 'price to pay' is an extra 5.5C, then it's kinda.. not worth it.
Okay, I'll bite... why?
|
|
|
I was feeling generous, so I thought I'd quote from the grossly underused readme...
AUTO MODES: There are two "auto" modes in cgminer, --auto-fan and --auto-gpu. These can be used independently of each other and are complementary. Both auto modes are designed to safely change settings while trying to maintain a target temperature. By default this is set to 75 degrees C but can be changed with:
[snip]
Fan control in auto fan works off the theory that the minimum possible fan required to maintain an optimal temperature will use less power, make less noise, and prolong the life of the fan. In auto-fan mode, the fan speed is limited to 85% if the temperature is below "overheat" intentionally, as higher fanspeeds on GPUs do not produce signficantly more cooling, yet significanly shorten the lifespan of the fans. If temperature reaches the overheat value, fanspeed will still be increased to 100%. The overheat value is set to 85 degrees by default and can be changed with:
|
|
|
Can't be Satoshi... I haven't mysteriously disappeared But you mysteriously appeared LOL, my cover is blown.
|
|
|
Can't be Satoshi... I haven't mysteriously disappeared
|
|
|
You ever written any software?
I'm an anaesthetist like ckolivas. I wasn't kidding btw...
|
|
|
The ones who are complaining, are you programmers? No, I'm an anaesthetist.
|
|
|
ONe of my rigs was getting slower than usual hashrates; I noticed utilization was at 0%. A reboot solved the hashrate, but I went in to dmesg and found something slightly worrying. Can anyone make sense of this? [ 141.231341] debug_smp_processor_id: 1080 callbacks suppressed [ 141.231345] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4772 [ 141.231351] Pid: 4772, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.231354] Call Trace: [ 141.231367] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.231446] [<ffffffffa081646e>] ? kas_spin_lock+0x15/0xbd [fglrx] [ 141.231472] [<ffffffffa081683e>] ? KAS_InterlockedList_RemoveAtHead+0x58/0x152 [fglrx] [ 141.231505] [<ffffffffa082ed3d>] ? MCIL_InterlockedList+0x10d/0x2a0 [fglrx] [ 141.231557] [<ffffffffa08e12d0>] ? FIFO_Queue_RemoveFromHead+0x40/0x60 [fglrx] [ 141.231591] [<ffffffffa08308b2>] ? MCIL_bMiniportCapEnabled+0x82/0xa0 [fglrx] [ 141.231634] [<ffffffffa08edda1>] ? AllocateCallbackEntry+0x21/0x50 [fglrx] [ 141.231681] [<ffffffffa08e215a>] ? RegisterIRQClient+0x7a/0x1c0 [fglrx] [ 141.231723] [<ffffffffa08f015e>] ? Is_IRQSource_Valid+0x8e/0xb0 [fglrx] [ 141.231771] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.231803] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.231835] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.231871] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.231903] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.231936] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.231967] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.231993] [<ffffffffa090faba>] ? _ZThn808_N8GartPppt14CreateApertureEv+0xe23a/0xb05d1 [fglrx] [ 141.232006] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.232072] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.232106] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.232131] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.232188] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.232243] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.232300] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.232338] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.232374] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.232399] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.232436] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.232467] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.232495] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.232502] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.232506] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.232515] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b [ 141.232519] [<ffffffff8135ded9>] ? sysret_check+0x24/0x5f [ 141.232932] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4772 [ 141.232936] Pid: 4772, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.232938] Call Trace: [ 141.232945] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.232971] [<ffffffffa081640d>] ? KAS_GetExecutionLevel+0xd/0x1d [fglrx] [ 141.233003] [<ffffffffa0830d59>] ? MCIL_GetExecutionLevel+0x39/0x80 [fglrx] [ 141.233053] [<ffffffffa08ed91b>] ? CallbackQueueAccess+0x2b/0x2a0 [fglrx] [ 141.233098] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.233144] [<ffffffffa08e21bb>] ? RegisterIRQClient+0xdb/0x1c0 [fglrx] [ 141.233190] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.233222] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.233254] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.233288] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.233319] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.233351] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.233382] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.233405] [<ffffffffa090faba>] ? _ZThn808_N8GartPppt14CreateApertureEv+0xe23a/0xb05d1 [fglrx] [ 141.233429] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.233464] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.233495] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.233518] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.233571] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.233621] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.233674] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.233709] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.233744] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.233767] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.233802] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.233830] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.233855] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.233859] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.233863] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.233867] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b [ 141.233870] [<ffffffff8135ded9>] ? sysret_check+0x24/0x5f [ 141.233874] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4772 [ 141.233878] Pid: 4772, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.233879] Call Trace: [ 141.233883] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.233928] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.233952] [<ffffffffa081640d>] ? KAS_GetExecutionLevel+0xd/0x1d [fglrx] [ 141.233983] [<ffffffffa0830d59>] ? MCIL_GetExecutionLevel+0x39/0x80 [fglrx] [ 141.234009] [<ffffffffa082e9c2>] ? MCIL_QuerySystemInfo+0xb2/0x100 [fglrx] [ 141.234061] [<ffffffffa08eeb15>] ? IRQMGR_SynchronizeExecution+0x25/0x80 [fglrx] [ 141.234101] [<ffffffffa08f0048>] ? IRQMGR_GetCurrentThreadId+0x38/0x50 [fglrx] [ 141.234143] [<ffffffffa08eda54>] ? CallbackQueueAccess+0x164/0x2a0 [fglrx] [ 141.234188] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.234233] [<ffffffffa08e21bb>] ? RegisterIRQClient+0xdb/0x1c0 [fglrx] [ 141.234279] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.234311] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.234342] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.234377] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.234408] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.234440] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.234470] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.234494] [<ffffffffa090faba>] ? _ZThn808_N8GartPppt14CreateApertureEv+0xe23a/0xb05d1 [fglrx] [ 141.234517] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.234552] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.234583] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.234606] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.234659] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.234709] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.234762] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.234797] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.234832] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.234855] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.234890] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.234918] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.234943] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.234947] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.234951] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.234955] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b [ 141.234958] [<ffffffff8135ded9>] ? sysret_check+0x24/0x5f [ 141.909206] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4776 [ 141.909212] Pid: 4776, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.909215] Call Trace: [ 141.909226] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.909274] [<ffffffffa081646e>] ? kas_spin_lock+0x15/0xbd [fglrx] [ 141.909299] [<ffffffffa081683e>] ? KAS_InterlockedList_RemoveAtHead+0x58/0x152 [fglrx] [ 141.909331] [<ffffffffa082ed3d>] ? MCIL_InterlockedList+0x10d/0x2a0 [fglrx] [ 141.909379] [<ffffffffa08e12d0>] ? FIFO_Queue_RemoveFromHead+0x40/0x60 [fglrx] [ 141.909403] [<ffffffffa09117bc>] ? _ZThn808_N8GartPppt14CreateApertureEv+0xff3c/0xb05d1 [fglrx] [ 141.909436] [<ffffffffa08308b2>] ? MCIL_bMiniportCapEnabled+0x82/0xa0 [fglrx] [ 141.909478] [<ffffffffa08edda1>] ? AllocateCallbackEntry+0x21/0x50 [fglrx] [ 141.909524] [<ffffffffa08e215a>] ? RegisterIRQClient+0x7a/0x1c0 [fglrx] [ 141.909565] [<ffffffffa08f015e>] ? Is_IRQSource_Valid+0x8e/0xb0 [fglrx] [ 141.909612] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.909644] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.909676] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.909711] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.909743] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.909776] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.909807] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.909831] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.909867] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.909898] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.909922] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.909976] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.910003] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.910094] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.910131] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.910168] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.910193] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.910230] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.910261] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.910288] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.910295] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.910301] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.910308] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b [ 141.910314] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4776 [ 141.910320] Pid: 4776, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.910323] Call Trace: [ 141.910328] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.910354] [<ffffffffa081640d>] ? KAS_GetExecutionLevel+0xd/0x1d [fglrx] [ 141.910387] [<ffffffffa0830d59>] ? MCIL_GetExecutionLevel+0x39/0x80 [fglrx] [ 141.910431] [<ffffffffa08ed91b>] ? CallbackQueueAccess+0x2b/0x2a0 [fglrx] [ 141.910478] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.910525] [<ffffffffa08e21bb>] ? RegisterIRQClient+0xdb/0x1c0 [fglrx] [ 141.910573] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.910607] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.910640] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.910676] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.910710] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.910744] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.910776] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.910802] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.910839] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.910872] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.910897] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.910952] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.911004] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.911062] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.911099] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.911136] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.911161] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.911198] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.911228] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.911255] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.911261] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.911266] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.911272] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b [ 141.911277] BUG: using smp_processor_id() in preemptible [00000000] code: cgminer/4776 [ 141.911282] Pid: 4776, comm: cgminer Tainted: P C O 2.6.39-3-amd64 #1 [ 141.911286] Call Trace: [ 141.911291] [<ffffffff811c9442>] ? debug_smp_processor_id+0xb2/0xc8 [ 141.911338] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.911363] [<ffffffffa081640d>] ? KAS_GetExecutionLevel+0xd/0x1d [fglrx] [ 141.911396] [<ffffffffa0830d59>] ? MCIL_GetExecutionLevel+0x39/0x80 [fglrx] [ 141.911429] [<ffffffffa082e9c2>] ? MCIL_QuerySystemInfo+0xb2/0x100 [fglrx] [ 141.911472] [<ffffffffa08eeb15>] ? IRQMGR_SynchronizeExecution+0x25/0x80 [fglrx] [ 141.911514] [<ffffffffa08f0048>] ? IRQMGR_GetCurrentThreadId+0x38/0x50 [fglrx] [ 141.911558] [<ffffffffa08eda54>] ? CallbackQueueAccess+0x164/0x2a0 [fglrx] [ 141.911605] [<ffffffffa08e1f00>] ? IRQMGR_QueryAsicTimestamp+0x20/0x20 [fglrx] [ 141.911652] [<ffffffffa08e21bb>] ? RegisterIRQClient+0xdb/0x1c0 [fglrx] [ 141.911700] [<ffffffffa08df68e>] ? IRQMGR_Access+0xee/0x190 [fglrx] [ 141.911733] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.911767] [<ffffffffa08328de>] ? IRQMGR_enable_hifreq_interrupt+0xee/0x150 [fglrx] [ 141.911803] [<ffffffffa08434a2>] ? firegl_trace+0x72/0x1e0 [fglrx] [ 141.911836] [<ffffffffa0832b10>] ? irqmgr_interrupt_handler+0x20/0x20 [fglrx] [ 141.911870] [<ffffffffa083131c>] ? irqmgr_wrap_enable_hifreq_interrupt+0x5c/0x1f0 [fglrx] [ 141.911903] [<ffffffffa082fa64>] ? MCIL_KernelMutex+0x134/0x320 [fglrx] [ 141.911928] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.911966] [<ffffffffa0845feb>] ? firegl_cmmqs_QueryThreadWakeupSource+0xab/0xd0 [fglrx] [ 141.911999] [<ffffffffa08300a6>] ? MCIL_SuspendThread+0x106/0x120 [fglrx] [ 141.912026] [<ffffffffa0920ed0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1f650/0xb05d1 [fglrx] [ 141.912079] [<ffffffffa0893ea2>] ? _ZN2OS13suspendThreadEj+0x22/0x30 [fglrx] [ 141.912130] [<ffffffffa088c0aa>] ? CMMQSWaitOnTsSignal+0xaa/0xd0 [fglrx] [ 141.912183] [<ffffffffa089c2b2>] ? _Z8uCWDDEQCmjjPvjS_+0xc32/0x10c0 [fglrx] [ 141.912219] [<ffffffffa08459b2>] ? firegl_cmmqs_CWDDE_32+0x332/0x440 [fglrx] [ 141.912254] [<ffffffffa08442e0>] ? firegl_cmmqs_CWDDE32+0x70/0x100 [fglrx] [ 141.912278] [<ffffffffa0902bf0>] ? _ZThn808_N8GartPppt14CreateApertureEv+0x1370/0xb05d1 [fglrx] [ 141.912313] [<ffffffffa0844270>] ? firegl_cmmqs_createdriver+0x170/0x170 [fglrx] [ 141.912342] [<ffffffffa0822f98>] ? firegl_ioctl+0x1e8/0x250 [fglrx] [ 141.912367] [<ffffffffa081953f>] ? ip_firegl_unlocked_ioctl+0x9/0xd [fglrx] [ 141.912372] [<ffffffff8110d2a3>] ? do_vfs_ioctl+0x50e/0x564 [ 141.912376] [<ffffffff8110d344>] ? sys_ioctl+0x4b/0x6f [ 141.912380] [<ffffffff8135deab>] ? system_call_fastpath+0x16/0x1b
The ATI driver crashed on you.
|
|
|
Nonetheless, most interfaces that need polling lead to significant busy-waiting loops in the code to make sure they don't miss an opportunity to give out more work. This is *exactly* the sort of shit that led to high CPU usage in many iterations of the ATI driver. Now I haven't looked at that part of Luke-jr's code to see how he manages it, but you can minimise the effect somewhat by not simply polling indefinitely, and he has said he went to some effort to work around it. Even well coded around, it's still an inefficient means of communicating and I'm disappointed to see it in a new device in this day and age.
|
|
|
|