First  |  Prev |  Next  |  Last
Pages: 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562
[RFC][PATCH 09/16] writeback: do not lose wake-ups in bdi threads
From: Artem Bityutskiy <Artem.Bityutskiy(a)> The bdi threads ('bdi_writeback_thread()') can lose wake-ups if, for example, 'bdi_queue_work()' is executed while after the bdi thread finished 'wb_do_writeback()' but before it has called 'schedule_timeout_interruptible()'. To fix this issue, we have to che... 16 Jul 2010 09:53
[RFC][PATCH 16/16] writeback: prevent unnecessary bdi threads wakeups
From: Artem Bityutskiy <Artem.Bityutskiy(a)> Finally, we can get rid of unnecessary wake-ups in bdi threads, which are very bad for battery-driven devices. There are two type of work bdi threads do: 1. process bdi works from the 'bdi->work_list' 2. periodic write-back So there are 2 sources of wake-u... 16 Jul 2010 09:53
[RFC][PATCH 13/16] writeback: restructure bdi forker loop a little
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch re-structures the loop which walks bdi a little. This is really just a micro-step towards the coming change where the forker thread will kill the bdi threads. Just a tiny preparation which should simplify reviewing and make it easier to see what I ch... 16 Jul 2010 09:53
[RFC][PATCH 10/16] writeback: simplify bdi code a little
From: Artem Bityutskiy <Artem.Bityutskiy(a)> This patch simplifies bdi code a little by removing the 'pending_list' which is redundant. Indeed, currently the forker thread ('bdi_forker_thread()') is working like this: 1. In a loop, fetch all bdi's which have works but have no writeback thread and mo... 16 Jul 2010 09:53
[RFC][PATCH 15/16] writeback: clean-up the warning about non-registered bdi
From: Artem Bityutskiy <Artem.Bityutskiy(a)> In '__mark_inode_dirty()', when the corresponding bdi was not properly registered, we print a warning. But the corresponding code is a bit untidy, it used if and 'WARN_ON(1)' and printk. This patch turns it into one multi-line WARN() statement which looks tid... 16 Jul 2010 09:53
[RFC][PATCH 02/16] writeback: remove redundant list initialization
From: Artem Bityutskiy <Artem.Bityutskiy(a)> We do not have to call 'INIT_LIST_HEAD()' for list elements ('bdi->bdi_list') before inserting them to the 'bdi_pending_list', because 'list_add_tail' will initialize the element anyway. Thus, kill the redundant initialization. Signed-off-by: Artem Bityutskiy... 16 Jul 2010 09:53
[PATCH 2/8] Basic zcache functionality
Implements callback functions for cleancache_ops [1] to provide page cache compression support. Along with other functioanlity, cleancache provides callbacks for events when a page is to be removed from the page cache and when it is required again. We use them to implement a 'second chance' cache for these evicted ... 16 Jul 2010 08:48
[PATCH 7/8] Use xvmalloc to store compressed chunks
xvmalloc is an O(1) memory allocator designed specifically for storing variable sized compressed chunks. It is already being used by zram driver for the same purpose. A new statistic is also exported: /sys/kernel/mm/zcache/pool<id>/mem_used_total This gives pool's total memory usage, including allocator fragm... 16 Jul 2010 08:48
[PATCH 6/8] Compress pages using LZO
Pages are now compressed using LZO compression algorithm and a new statistic is exported through sysfs: /sys/kernel/mm/zcache/pool<id>/compr_data_size This gives compressed size of pages stored. So, we can get compression ratio using this and the orig_data_size statistic which is already exported. We only k... 16 Jul 2010 08:48
[PATCH 0/8] zcache: page cache compression support
Frequently accessed filesystem data is stored in memory to reduce access to (much) slower backing disks. Under memory pressure, these pages are freed and when needed again, they have to be read from disks again. When combined working set of all running application exceeds amount of physical RAM, we get extereme slo... 16 Jul 2010 08:48
First  |  Prev |  Next  |  Last
Pages: 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562