Miika Pekkarinen
b1a5c0ffa9
This should fix the remaining compilation issues.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12928 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 17:58:45 +00:00
Miika Pekkarinen
66258a30a4
Make scheduler functions thread safe core wise. A big step towards playback running on COP (not yet possible because more protection on file system level is necessary).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12926 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 16:55:17 +00:00
Michael Sevakis
165f62d0cd
Fix a hole in the scheduler where collisions between waking blocked threads in mutexes with interrupts waking blocked threads in message queues can occur. Queue posts will put the threads on a separate list that is then added to the running list with IRQs disabled on the next task switch or CPU wakeup. Basically no overhead for other operations. Seems a likely cause of my occasional observation of the backlight fade causing playback threads to stop running and a recently reported blocking violation upon USB plugging. Time will tell but banging the backlight on and off frequently hasn't hiccuped again for me on H120.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12915 a1c6a512-1295-4272-9138-f99709370657
2007-03-26 03:24:36 +00:00
Michael Sevakis
0caf3b8cae
Update sync queues to use a statically allocated return value in order to facilitate upcoming COP updates.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12881 a1c6a512-1295-4272-9138-f99709370657
2007-03-21 22:58:53 +00:00
Michael Sevakis
7e0201558b
Back to green?
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12690 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 08:17:05 +00:00
Michael Sevakis
dee43ece20
Put an end to priority inversion in the ata driver. Gave up trying to have fully atomic dual use mutexes so just replaced the ata driver locking with spins. Maybe I'll have better luck later. Things should run smoothly with database updates and such happening in the background.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12688 a1c6a512-1295-4272-9138-f99709370657
2007-03-09 08:03:18 +00:00
Michael Sevakis
b425de71df
Fix problem with recording screen creep and bag a bigfoot. Voice clips aren't long enough now to untrigger the thread boost that was supposed to be applied to the codec thread. The voice thread was needlessly boosting the codec thread and leaving it boosted which explains the encoders' ability to flood the output buffer when everything else was stopped in its tracks. Check which thread is calling pcmbuf_under_watermark and only initiate the boost when it's the codec thread. Always return the codec thread to its usual priority in pcmbuf_play_stop.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12649 a1c6a512-1295-4272-9138-f99709370657
2007-03-06 20:32:13 +00:00
Daniel Ankers
82f9056988
Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Jens Arnold
2f428871ea
Allow one more thread on swcodec to make mpegplayer work on targets with remote LCD and voice file present.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11937 a1c6a512-1295-4272-9138-f99709370657
2007-01-07 11:59:59 +00:00
Michael Sevakis
43c15921e4
Add queue_send synchronous message sending. Right now only for SWCODEC. Actual usage to be added to playback and recording shortly in upcoming commits.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11776 a1c6a512-1295-4272-9138-f99709370657
2006-12-16 18:35:12 +00:00
Brandon Low
8a82892e52
Thread API enhancements.
...
1) block_thread -> block_thread + block_thread_w_tmo -- this call was always used in distinct ways so having one call with a conditional was ugly.
2) enhance Slasheri's scheduler controlled boost concept. now any thread may trigger a boost which will last until that thread next sleeps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11509 a1c6a512-1295-4272-9138-f99709370657
2006-11-11 05:33:24 +00:00
Jens Arnold
780f79e7a4
Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11504 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:26:01 +00:00
Michael Sevakis
0f5cb94aa4
Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Miika Pekkarinen
7058752789
Removed ugly boosting solutions from playback code and let scheduler
...
handle unboosting instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11226 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:57:52 +00:00
Miika Pekkarinen
eae4bd337e
Include "config.h" to make sure priority stuff is properly included.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10974 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 15:10:22 +00:00
Miika Pekkarinen
a85044bf9e
New scheduler, with priorities for swcodec platforms. Frequent task
...
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Miika Pekkarinen
8aa6180e92
Fixed the errors.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10854 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 08:14:52 +00:00
Miika Pekkarinen
3686228f9d
Cleanup threads.c by moving declarations inside structs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10853 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 07:56:52 +00:00
Daniel Ankers
0aec12f3fd
Threading changes in preparation for multiple core support
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10681 a1c6a512-1295-4272-9138-f99709370657
2006-08-21 17:35:35 +00:00
Hristo Kovachev
6eafd48cec
Fix bug #5037 , spotted by David Rothenberger, also increase the max threads' count by 2
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9512 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 08:33:20 +00:00
Brandon Low
05dccc3551
Profiling support, tools and documentation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Jens Arnold
ed00708ac4
Adjusted MAX_THREADS to be 2 more than the number of standard threads on all platforms.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7776 a1c6a512-1295-4272-9138-f99709370657
2005-11-07 20:09:08 +00:00
Miika Pekkarinen
b529289e93
Fixed the usb mode. We did hit the thread limit which was now
...
increased from 10 to 14.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7367 a1c6a512-1295-4272-9138-f99709370657
2005-08-21 12:51:00 +00:00
Linus Nielsen Feltzing
a19acbdadd
Removed picky warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7116 a1c6a512-1295-4272-9138-f99709370657
2005-07-12 10:05:13 +00:00
Jens Arnold
2b0694c694
More const policeing step 3
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4982 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 05:58:46 +00:00
Jörg Hohensohn
7bd007a597
remove_thread() function added, for future dynamic thread creation by plugins
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4562 a1c6a512-1295-4272-9138-f99709370657
2004-04-30 20:23:04 +00:00
Björn Stenberg
72f75f36a5
Removed CPU Sleep setting. It's now permanently enabled.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3434 a1c6a512-1295-4272-9138-f99709370657
2003-03-12 15:30:59 +00:00
Linus Nielsen Feltzing
400a13f468
Decreased the thread context table size to save space in IRAM
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3311 a1c6a512-1295-4272-9138-f99709370657
2003-02-21 01:05:04 +00:00
Björn Stenberg
c4d8d970f6
The power-saving SLEEP patch by Simon Elén.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3259 a1c6a512-1295-4272-9138-f99709370657
2003-02-14 09:44:34 +00:00
Daniel Stenberg
f9b4490066
Include File Cleanup And Move-Around Party 2003.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3213 a1c6a512-1295-4272-9138-f99709370657
2003-02-07 09:41:57 +00:00