summaryrefslogtreecommitdiff
path: root/src/pulsecore/memblock.c
AgeCommit message (Collapse)AuthorFilesLines
2012-04-17core: Fix comments.Peter Meerwald1-2/+2
2011-08-25More spelling fixesMaarten Bosmans1-1/+1
2011-08-15memblock: use built-in functionLu Guanqun1-1/+1
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
2011-08-15memblock: fix memory leak when pa_shm_create_rw failsLu Guanqun1-3/+3
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
2011-06-22Remove unnecessary #includesMaarten Bosmans1-0/+3
2011-03-18Fix up some double spacesMaarten Bosmans1-1/+1
2011-03-11Fix up according to Coding StyleMaarten Bosmans1-6/+2
Only whitespace changes in here
2011-01-31ratelimit: fix log levels of log suppression messagesLennart Poettering1-1/+1
When logging a suppression message do so on the same log level as the suppressed messages. Cherry picked by Colin Guthrie from ec5a7857127a1b3b9c5517c4a70a9b2c8aab35ca with a couple of additional changes due to extra limiting in master that was not present in stable-queue.
2009-10-28memblock: decrease tile size to 64k againLennart Poettering1-1/+1
2009-09-29module-equalizer-sink: trying new buffering strategiesJason Newton1-1/+1
2009-09-18memblock: don't try to reuse PA_MEMBLOCK_APPENDED memblocks since they ↵Lennart Poettering1-4/+11
usually are much bigger than we want them
2009-09-18memblock: modernizationsLennart Poettering1-3/+2
2009-09-17memblock: make it easy to disable mempool usage with $PULSE_MEMPOOL_DISABLELennart Poettering1-0/+7
2009-09-06libpulse: introduce PA_BYTES_SNPRINT_MAX and make use of it wherever applicableLennart Poettering1-1/+1
2009-08-12memblock: rate limit 'Pool full' messageLennart Poettering1-1/+2
2009-07-24memblock: try to hit an assert earlier when ref counting doesn't workLennart Poettering1-9/+14
2009-07-01memblock: rearrange locking orderLennart Poettering1-17/+21
2009-04-21memtrap: hook up core to memtrap systemLennart Poettering1-0/+7
2009-03-25add simple ref counting debugging frameworkLennart Poettering1-2/+41
2009-02-18allow importing of more memory blocks than exportingLennart Poettering1-1/+1
2009-01-10show maximum usable slot sizeLennart Poettering1-2/+3
2008-10-05disable valgrind macro usage for now since valgrind generates a lot of ↵Lennart Poettering1-7/+11
spurious warnings as it seems
2008-10-01Make the shared memory segment size configurableLennart Poettering1-2/+16
This is useful only on systems where memory overcommit is not available or disabled.
2008-08-19add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering1-15/+15
2008-08-18add some code to make invalid valgrind warnings go awayLennart Poettering1-1/+13
2008-06-27halve memory consumption of mempool flist, since we know we cannot have more ↵Lennart Poettering1-2/+2
than n_blocks entries in it
2008-06-27modernize hashmap implementation a bit, reduce memory consumption a bitLennart Poettering1-1/+1
2008-06-18get rid of svn $ keywordsLennart Poettering1-2/+0
2008-05-15merge glitch-free branch back into trunkLennart Poettering1-44/+56
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-10-28merge 'lennart' branch back into trunk.Lennart Poettering1-180/+505
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1971 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-05-27Replace AO_xxx usage with pa_atomic_xxx and friends wherever it makes senseLennart Poettering1-33/+33
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1459 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-02-13Add copyright notices to all relevant files. (based on svn log)Pierre Ossman1-0/+3
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1426 fefdeb5f-60dc-0310-8127-8f9354f1896f
2007-01-04Huge trailing whitespace cleanup. Let's keep the tree pure from here on,Pierre Ossman1-47/+47
mmmkay? git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1418 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-11-06Revert r1404 and keep it on a development branch until it is fully tested.Pierre Ossman1-390/+117
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1409 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-26rework memory block management to be thread-safe and mostly lock-free.Lennart Poettering1-117/+390
pa_memblock is now an opaque structure. Access to its fields is now done through various accessor functions in a thread-safe manner. pa_memblock_acquire() and pa_memblock_release() are now used to access the attached audio data. Why? To allow safe manipulation of the memory pointer maintained by the memory block. Internally _acquire() and _release() maintain a reference counter. Please do not confuse this reference counter whith the one maintained by pa_memblock_ref()/_unref()! As a side effect this patch removes all direct usages of AO_t and replaces it with pa_atomic_xxx based code. This stuff needs some serious testing love. Especially if threads are actively used. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1404 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-09-07don't maintain a list of allocated mempool slots, we don't use it anywayLennart Poettering1-6/+1
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1380 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29make pa_mempool_stat thread-safe/lock-freeLennart Poettering1-33/+34
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1343 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-29modify memory block reference counting to use the new reference counting APILennart Poettering1-12/+12
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1342 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-23fix typoPierre Ossman1-1/+1
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1328 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-22Fix detection of page size for non-POSIX systems.Pierre Ossman1-1/+7
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1312 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-19generate per-type memory block statisticsLennart Poettering1-1/+18
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1293 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18add new function pa_mempool_is_shared() to test whether a memory pool is ↵Lennart Poettering1-0/+6
suitable for SHM data transfers git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1274 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18remove all occurences of Lennart Poettering1-3/+3
pa_logXXX(__FILE__": and replace them by pa_logXXX(" git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1272 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-08-18Rework memory management to allow shared memory data transfer. The central ideaLennart Poettering1-73/+664
is to allocate all audio memory blocks from a per-process memory pool which is available as read-only SHM segment to other local processes. Then, instead of writing the actual audio data to the socket just write references to this shared memory pool. To work optimally all memory blocks should now be of type PA_MEMBLOCK_POOL or PA_MEMBLOCK_POOL_EXTERNAL. The function pa_memblock_new() now generates memory blocks of this type by default. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1266 fefdeb5f-60dc-0310-8127-8f9354f1896f
2006-06-19big s/polyp/pulse/gLennart Poettering1-0/+173
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1033 fefdeb5f-60dc-0310-8127-8f9354f1896f