- 31 Dec, 2008 2 commits
-
-
Edward Shishkin authored
copies. Signed-off-by: Edward Shishkin<edward.shishkin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Edward Shishkin authored
. add support of loop devices over cryptcompress files. Signed-off-by: Edward Shishkin <edward.shishkin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 13 Jul, 2009 1 commit
-
-
Vladimir Saveliev authored
Q&A wrt this patch: - A really short guide to how to get up and running with this filesystem. Reiser4 is a file system based on dancing tree algorithms, and is described at http://www.namesys.com. One should be able to get it up and running just like any of the other filesystems supported by Linux. Configure it to be compiled either builtin or as a module. Create reiser4 filesystem with mkfs.reiser4, mount and use it. More detailed info can be found at http://thebsh.namesys.com/snapshots/LATEST/READ.ME. - The direct URL which people use to obtain the mkfs tool for this filesystem. Also fsck and anything else. Reiser4 userland tools can be obtained at ftp://ftp.namesys.com/pub/reiser4progs. ftp://ftp.namesys.com/pub/reiser4progs/README contains detailed instructions on how to compile and install these tools. Also all reiser4 progs have man pages. - Any known shortcomings, caveats, etc. Reiser4 has been tested on i386 yet only. Quota support is not ready yet. Should be ready soon. Reiser4 was tested extensively, and we got to where the mailing list was not able to hit any bugs, but then we told people that, got an order of magnitude increase in users, and they are able to hit bugs that we are working on now. Reiser's Law of Software Engineering: Each order of magnitude increase in users finds more bugs, in a quantity equal to the previous order of magnitude increase in users. Success for software developers is measured by how long the frustration lasts. Only the very core functionality is working. Exotic plugins, an API for multiple operation transactions and accessing multiple small files in one syscall, compression, inheritance, all have been postponed until after the core functionality is shipped. The compression plugin needs a code review before anyone should use it. - A statement on compatibility with reiserfs3 filesytems. To upgrade from reiserfs V3 to V4, use tar, or sponsor us to write a convertfs. - Bear in mind that people will immediately benchmark this filesytem, and first impressions count. Now is your chance to communicate any tuning guidelines, mount options or whatever which you'd like people to understand BEFORE they start publishing benchmark info. Reiser4 is not tuned for fsync/sync/O_SYNC performance yet. If you see results that are much different from those at www.namesys.com/benchmarks.html, let us know. If you see performance characteristics that don't quite make sense, email reiserfs-list@namesys.com, such things are always of interest. reiser4 is not tuned for mmaping and dirtying more than physical ram like IOzone does. This is quite different in its code path from writing and dirtying more than physical ram. There are those who think that what IOZone does is rarely done by real programs, and therefor we should not bother to optimize what it does. All I know is, this month we are not optimized for it. Please consider its space savings when you benchmark it also. [michal.k.k.piotrowski@gmail.com: kill #include "linux/config.h"] [akpm@linux-foundation.org: reiser4_drop_page: don't call remove_from_page_cache] [bunk@stusta.de: fs/reiser4/: possible cleanups] Signed-off-by: Vladimir Saveliev <vs@namesys.com> Signed-off-by: Hans Reiser <reiser@namesys.com> Signed-off-by: Edward Shishkin <edward@namesys.com> DESC reiser4: fix for drop-unused-semaphores.patch EDESC Wait for tail conversion completion when acquiring exclusive access by . mmap_unix_file() . setattr_unix_file() . release_unix_file() Update comments. Signed-off-by: Edward Shishkin <edward@namesys.com> Cc Jonathan Briggs <jbriggs@esoft.com> DESC reiser4-slab-allocators-remove-slab_debug_initial-flag EDESC Cc: Christoph Lameter <cl@linux-foundation.org>.com> DESC reiser4: use simple_prepare_write to zero page data EDESC It's common for file systems to need to zero data on either side of a write, if a page is not Uptodate during prepare_write. It just so happens that simple_prepare_write() in libfs.c does exactly that, so we can avoid duplication and just call that function to zero page data. Signed-off-by: Nate Diller <nate.diller@gmail.com> Cc: Vladimir Saveliev <vs@namesys.com> Cc: Edward Shishkin <edward@namesys.com> DESC reiser4-fix EDESC DESC reiser4: use zero_user_page EDESC Use zero_user_page() instead of open-coding it. Signed-off-by: Nate Diller <nate.diller@gmail.com> Cc: Vladimir Saveliev <vs@namesys.com> Cc: Edward Shishkin <edward@namesys.com> DESC reiser4: remove typedefs EDESC . Reduce number of typedefs from 289 to 248 . Remove unused file plugin/file/invert.c . Update comments DESC reiser4: fix write_extent EDESC Prepared-by Ignatich <ignatich@gmail.com> Fix reiser4_write_extent(): 1) handling incomplete writes missed in reiser4-temp-fix.patch 2) bugs in the case of returned errors Signed-off-by: Edward Shishkin <edward@namesys.com> DESC reiser4 make sync_inodes non-void EDESC Make reiser4_sync_inodes non-void Signed-off-by: Edward Shishkin <edward@namesys.com> DESC Reiser4: Drop 'size' argument from bio_endio and bi_end_io EDESC Reiser4: Drop 'size' argument from bio_endio and bi_end_io This patch pushes into Reiser4 the changes introduced by commit 6712ecf8: As bi_end_io is only called once when the request is complete, the 'size' argument is now redundant. Remove it. Now there is no need for bio_endio to subtract the size completed from bi_size. So don't do that either. While we are at it, change bi_end_io to return void. Signed-off-by: Laurent Riffard <laurent.riffard@free.fr> Acked-by: Jens Axboe <jens.axboe@oracle.com> Acked-by: Edward Shishkin <edward@namesys.com> DESC mm: clean up and kernelify shrinker registration EDESC I can never remember what the function to register to receive VM pressure is called. I have to trace down from __alloc_pages() to find it. It's called "set_shrinker()", and it needs Your Help. 1) Don't hide struct shrinker. It contains no magic. 2) Don't allocate "struct shrinker". It's not helpful. 3) Call them "register_shrinker" and "unregister_shrinker". 4) Call the function "shrink" not "shrinker". 5) Reduce the 17 lines of waffly comments to 13, but document it properly. The comment in reiser4 makes me a little queasy. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Vladimir Saveliev <vs@namesys.com> Acked-by: Edward Shishkin <edward@namesys.com> DESC reiser4: fix NULL dereference in __mnt_is_readonly in ftruncate() EDESC Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: fix extent2tail EDESC Fixed bug in extent2tail conversion. Bug description: when converting partially converted file (with flag REISER4_PART_MIXED installed) reiser4_cut_tree() starts to cut old metatada from wrong offset. Result is data corruption. Signed-off-by: Edward Shishkin <edward@namesys.com> DESC reiser4: fix read_tail EDESC Update hint when reading tails Signed-off-by: Edward Shishkin <edward@namesys.com> DESC reiser4: fix unix-file readpages filler EDESC Protect page (via incrementing page count) from being reclaimed when looking for extent pointer in unix-file specific readpages filler. Signed-off-by: Edward Shishkin <edward@namesys.com> DESC reiser4: fix readpage_unix_file EDESC . If nominated (by VFS) page is out of file size, then fill it by zeros instead of returning -EINVAL (this prevents returning an unexpected error (-EINVAL) by some apps that don't check file size). . Check if the page became uptodate while it was being unlocked. Signed-off-by: Edward Shishkin <edward@namesys.com> Cc: Zan Lynx <zlynx@acm.org> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: fix for new aops patches EDESC Cc: Vladimir Saveliev <vs@namesys.com> Cc: Edward Shishkin <edward@namesys.com> DESC reiser4: do not allocate struct file on stack EDESC Do not allocate struct file on stack, pass the persistent one instead. Signed-off-by: Edward Shishkin <edward@namesys.com> Tested-by: Zan Lynx <zlynx@acm.org> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC git-block-vs-reiser4 EDESC Hope this is right. Hope you know what you're doing ;) Cc: Vladimir Saveliev <vs@namesys.com> Cc: Edward Shishkin <edward@namesys.com> Cc: Jens Axboe <jens.axboe@oracle.com> DESC reiser4: cryptcompress misc fixups EDESC . Fix a race (reproducible by fsx + sync (1)) between checkin_page_cluster operations: serialize them via special per-inode checkin_mutex (usual i_mutex is not suitable for this purpose, as ->writepages() also calls checkin_page_cluster(); . Add comments for checkin/checkout technique for synchronization of primary and secondary caches with proof of correctness; . Fix missed right neighbor when updating disk clusters by handle_pos_on_leaf() during squalloc (should use upper levels to get expected non-connected neighbor); . Resolve a race between read and truncate (when read finds partially truncated and, hence, unrecoverable disk cluster) via keeping a track of leftmost truncated disk clusters in cryptcompress-specific part of inode; . Introduce size translators and size modulators for common needs; . Update comments; . Rename badly sounding function names; . Fix coding style; . Add my part of credits. Signed-off-by: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: cryptcompress misc fixups-2 EDESC Check a file plugin id before manipulating with plugin-specific counter. Signed-off-by: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC fs/reiser4/plugin/: make 3 functions static EDESC This patch makes the following needlessly global functions static: - file/cryptcompress.c: __put_page_cluster() - file/cryptcompress.c: put_hint_cluster() - item/ctail.c: ctail_read_disk_cluster() Signed-off-by: Adrian Bunk <bunk@kernel.org> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: change error code base EDESC Change REISER4_ERROR_CODE_BASE to 10000 to not overlap real errnos Signed-off-by: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: use lzo library functions EDESC . Convert Reiser4 to use lzo implementation in lib/lzo/ instead of including its own copy of minilzo; . Do not set zeros to workmem region. Signed-off-by: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC fs/reiser4/plugin/file/cryptcompress.c: kmalloc + memset conversion to kzalloc EDESC fs/reiser4/plugin/file/cryptcompress.c | 101386 -> 101352 (-34 bytes) fs/reiser4/plugin/file/cryptcompress.o | 456784 -> 456644 (-140 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC reiser4: kmalloc + memset conversion to kzalloc EDESC Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC fs/reiser4/init_super.c: kmalloc + memset conversion to kzalloc EDESC fs/reiser4/init_super.c | 19283 -> 19246 (-37 bytes) fs/reiser4/init_super.o | 155348 -> 155152 (-196 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC fs/reiser4/plugin/inode_ops_rename.c: kmalloc + memset conversion to kzalloc EDESC fs/reiser4/plugin/inode_ops_rename.c | 28474 -> 28344 (-130 bytes) fs/reiser4/plugin/inode_ops_rename.o | 142600 -> 142476 (-124 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC fs/reiser4/ktxnmgrd.c: kmalloc + memset conversion to kzalloc EDESC fs/reiser4/ktxnmgrd.c | 5314 -> 5277 (-37 bytes) fs/reiser4/ktxnmgrd.o | 131624 -> 131496 (-128 bytes) Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: Edward Shishkin <edward@namesys.com> Cc: "Vladimir V. Saveliev" <vs@namesys.com> DESC Use helpers to obtain task pid in printks EDESC The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> DESC Subject: [PATCH 1/2] remove asm/bitops.h includes EDESC remove asm/bitops.h includes including asm/bitops directly may cause compile errors. don't include it and include linux/bitops instead. next patch will deny including asm header directly. Cc: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
-
- 25 Sep, 2009 5 commits
-
-
james toy authored
-
Andrew Morton authored
Reported-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Hans Reiser authored
add_to_page_cache_lru to be EXPORT_SYMBOL-ed. [bunk@stusta.de: unexport {,__}remove_from_page_cache] Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Artem Bityutskiy authored
generic implementaion and changes fs-writeback.c:sync_sb_inodes() to call filesystem's sync_inodes if it is defined or generic implementaion otherwise. This new operation allows filesystem to decide itself what to flush. Reiser4 flushes dirty pages on basic of atoms, not of inodes. sync_sb_inodes used to call address space flushing method (writepages) for every dirty inode. For reiser4 it caused having to commit atoms unnecessarily often. This turned into substantial slowdown. Having this method helped to fix that problem. akpm: this patch needs to be chnaged to remove the `sb' arg. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Cc: Edward Shishkin <edward.shishkin@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Edward Shishkin authored
"captured" by some atom. However, outside reiser4 context dirty page can not be captured in some cases, as it is accompanied with specific work (jnode creation, etc). Reiser4 recognizes such "anonymous" pages (i.e. pages that were dirtied outside of reiser4) by the tag PAGECACHE_TAG_DIRTY. Pages dirtied inside reiser4 context are not tagged at all: we don't need this. Indeed, once page is dirtied and captured, it is attached to a jnode (a special header to keep a track of transactions). reiser4_set_page_dirty_internal() was the internal reiser4 function that set dirty bit without tagging the page. Having such internal function led to real problems (incorrect task io accounting, etc. because of not updating this internal "friend"). Solution: The following patch adds a core library function that sets a dirty bit without tagging the page. Signed-off-by: Edward Shishkin<edward.shishkin@gmail.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 04 Jun, 2009 1 commit
-
-
Andrew Morton authored
Cc: David S. Miller <davem@davemloft.net> Cc: Florian Fainelli <florian@openwrt.org> Cc: Julius Volz <juliusv@google.com> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Simon Horman <horms@verge.net.au> Cc: Takashi Iwai <tiwai@suse.de> Cc: Patrick McHardy <kaber@trash.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 24 Aug, 2009 1 commit
-
-
Florian Fainelli authored
lib/gcd.c, the latter also implementing the a < b case. Signed-off-by: Florian Fainelli <florian@openwrt.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Takashi Iwai <tiwai@suse.de> Acked-by: Simon Horman <horms@verge.net.au> Cc: Julius Volz <juliusv@google.com> Cc: David S. Miller <davem@davemloft.net> Cc: Patrick McHardy <kaber@trash.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 04 Jun, 2009 1 commit
-
-
Florian Fainelli authored
Signed-off-by: Florian Fainelli <florian@openwrt.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Takashi Iwai <tiwai@suse.de> Cc: Simon Horman <horms@verge.net.au> Cc: Julius Volz <juliusv@google.com> Cc: David S. Miller <davem@davemloft.net> Cc: Patrick McHardy <kaber@trash.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 28 Oct, 2009 7 commits
-
-
Akinobu Mita authored
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
Acked-by: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
Reviewed-by: Roland Dreier <rolandd@cisco.com> Cc: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Lothar Wassmann <LW@KARO-electronics.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
1. s/iommu_area_free/bitmap_clear/ 2. s/iommu_area_reserve/bitmap_set/ 3. Use bitmap_find_next_zero_area instead of find_next_zero_area This cannot be simple substitution because find_next_zero_area doesn't check the last bit of the limit in bitmap 4. Remove iommu_area_free, iommu_area_reserve, and find_next_zero_area Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Akinobu Mita authored
bitmap_set: Set specified bit area bitmap_clear: Clear specified bit area bitmap_find_next_zero_area: Find free bit area These are mostly stolen from iommu helper. The differences are: - Use find_next_bit instead of doing test_bit for each bit - Rewrite bitmap_set and bitmap_clear Instead of setting or clearing for each bit. - Check the last bit of the limit iommu-helper doesn't want to find such area - The return value if there is no zero area find_next_zero_area in iommu helper: returns -1 bitmap_find_next_zero_area: return >= bitmap size Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Greg Kroah-Hartman <gregkh@suse.de> Cc: Lothar Wassmann <LW@KARO-electronics.de> Cc: Roland Dreier <rolandd@cisco.com> Cc: Yevgeny Petrilin <yevgenyp@mellanox.co.il> Cc: Tony Luck <tony.luck@intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 30 Oct, 2009 2 commits
-
-
Andrew Morton authored
Cc: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Jeff Moyer authored
commit 848c4dd5 Author: Zach Brown <zach.brown@oracle.com> Date: Mon Aug 20 17:12:01 2007 -0700 dio: zero struct dio with kzalloc instead of manually This patch uses kzalloc to zero all of struct dio rather than manually trying to track which fields we rely on being zero. It passed aio+dio stress testing and some bug regression testing on ext3. This patch was introduced by Linus in the conversation that lead up to Badari's minimal fix to manually zero .map_bh.b_state in commit: 6a648fa7 It makes the code a bit smaller. Maybe a couple fewer cachelines to load, if we're lucky: text data bss dec hex filename 3285925 568506 1304616 5159047 4eb887 vmlinux 3285797 568506 1304616 5158919 4eb807 vmlinux.patched I was unable to measure a stable difference in the number of cpu cycles spent in blockdev_direct_IO() when pushing aio+dio 256K reads at ~340MB/s. So the resulting intent of the patch isn't a performance gain but to avoid exposing ourselves to the risk of finding another field like .map_bh.b_state where we rely on zeroing but don't enforce it in the code. Zach surmised that zeroing out the page array was what caused most of the problem, and suggested the approach taken in the attached patch for resolving the issue. Intel re-tested with this patch and saw a 0.6% performance gain (the original regression was 0.5%). Signed-off-by: Jeff Moyer <jmoyer@redhat.com> Acked-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 14 Oct, 2009 1 commit
-
-
Roel Kluin authored
Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 16 Oct, 2009 1 commit
-
-
Jan Beulich authored
comparison msut also be done using the last valid of the buffer in question. Also fix the open-coded instances in lib/swiotlb.c. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Becky Bruce <beckyb@kernel.crashing.org> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 30 Sep, 2009 3 commits
-
-
Nils Carlson authored
the patch as far as possible with correctible errors and things appear good. The DIMM mapping is correct for our board, but boards may differ. Signed-off-by: Nils Carlson <nils.carlson@ludd.ltu.se> Acked-by: Arthur Jones <ajones@riverbed.com> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Nils Carlson authored
scrubbing rate, which is not constant but dependent on memory load. The rate returned by this driver is an estimate based on some experimentation, but is substantially closer to the truth than the speed supplied in the documentation. Also, scrubbing is done once, and then a done-bit is set. This means that to accomplish continuous scrubbing a re-enabling mechanism must be used. I have created the simplest possible such mechanism in the form of a work-queue which will check every five minutes. This interval is quite arbitrary but should be sufficient for all sizes of system memory. Signed-off-by: Nils Carlson <nils.carlson@ludd.ltu.se> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Nils Carlson authored
places, this is simply a cleanup of the patch. Signed-off-by: Nils Carlson <nils.carlson@ludd.ltu.se> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 16 Oct, 2009 1 commit
-
-
Roel Kluin authored
Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 09 Oct, 2009 1 commit
-
-
Joe Perches authored
Convert printks to pr_<level> Convert some embedded function names to %s...__func__ Remove a period after exclamation points. Remove #define pr_dbg which could be used by future kernel.h includes Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 30 Sep, 2009 1 commit
-
-
Jiri Slaby authored
tty is dereferenced earlier, the test is superfluous. Remove it. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Greg KH <greg@kroah.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 24 Aug, 2009 1 commit
-
-
Bartlomiej Zolnierkiewicz authored
Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 15 Oct, 2009 1 commit
-
-
Christoph Hellwig authored
USE_ELF_CORE_DUMP. The microblaze omission seems like an error to me, so let's kill this ifdef and make sure we are the same everywhere. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Hugh Dickins <hugh.dickins@tiscali.co.uk> Cc: <linux-arch@vger.kernel.org> Cc: Michal Simek <michal.simek@petalogix.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 29 Sep, 2009 1 commit
-
-
Julia Lawall authored
constants ending in _STATE are compared to the state variable. Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 06 Oct, 2009 7 commits
-
-
Manfred Spraul authored
current code scans all decrement operations, even if the semaphore value is already 0. The patch optimizes that: if the semaphore value is 0, then there is no need to scan the q->alter entries. Note that this is a common case: It happens if 100 decrements by one are pending and now an increment by one increases the semaphore value from 0 to 1. Without this patch, all 100 entries are scanned. With the patch, only one entry is scanned, then woken up. Then the new rule triggers and the scanning is aborted, without looking at the remaining 99 tasks. With this patch, single sop increment/decrement by 1 are now O(1). (same as with Nick's patch) Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Nick Piggin <npiggin@suse.de> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Manfred Spraul authored
semaphores. Atomic operations that affect multiple semaphores are supported. The patch optimizes single semaphore operation calls that affect only one semaphore: It's not necessary to scan all pending operations, it is sufficient to scan the per-semaphore list. The idea is from Nick Piggin version of an ipc sem improvement, the implementation is different: The code tries to keep as much common code as possible. As the result, the patch is simpler, but optimizes fewer cases. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Nick Piggin <npiggin@suse.de> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Manfred Spraul authored
sysv sem has the concept of semaphore arrays that consist out of multiple semaphores. Atomic operations that affect multiple semaphores are supported. The patch is the first step for optimizing simple, single semaphore operations: In addition to the global list of all pending operations, a 2nd, per-semaphore list with the simple operations is added. Note: this patch does not make sense by itself, the new list is used nowhere. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Nick Piggin <npiggin@suse.de> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Manfred Spraul authored
If try_atomic_semop failed, then no changes were applied. Thus no need to restart. Additionally, this patch correct an incorrect comment: It's possible to wait for arbitrary semaphore values (do a dec by <x>, wait-for-zero, inc by <x> in one atomic operation) Both changes are from Nick Piggin, the patch is the result of a different split of the individual changes. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Nick Piggin <npiggin@suse.de> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Nick Piggin authored
involved, which could deadlock if preemption is enabled during the "lock". It is an implementation detail (due to a spinlock being held) that this is actually the case. However if "spinlocks" are made preemptible, or if the sem lock is changed to a sleeping lock for example, then the wakeup would become buggy. So this might be a bugfix for -rt kernels. Imagine waker being preempted by wakee and never clearing IN_WAKEUP -- if wakee has higher RT priority then there is a priority inversion deadlock. Even if there is not a priority inversion to cause a deadlock, then there is still time wasted spinning. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Nick Piggin authored
list_for_each_entry macros. list_for_each_entry_safe() must be used, because list entries can disappear immediately uppon the wakeup event. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
Nick Piggin authored
sysv sem algorithm: Most (at least: some important) users only use simple semaphore operations, therefore it's worthwile to optimize this use case. This patch: Move last looked up sem_undo struct to the head of the task's undo list. Attempt to move common entries to the front of the list so search time is reduced. This reduces lookup_undo on oprofile of problematic SAP workload by 30% (see patch 4 for a description of SAP workload). Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Cc: Pierre Peiffer <peifferp@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 13 Oct, 2009 1 commit
-
-
Serge E. Hallyn authored
7ca7e564 "ipc: store ipcs into IDRs" in 2007. The idr of which 3 exist for each ipc namespace is never freed. This patch simply frees them when the ipcns is freed. I don't believe any idr_remove() are done from rcu (and could therefore be delayed until after this idr_destroy()), so the patch should be safe. Some quick testing showed no harm, and the memory leak fixed. Caught by kmemleak. Signed-off-by: Serge E. Hallyn <serue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-
- 24 Sep, 2009 1 commit
-
-
Oleg Nesterov authored
Currently we add sub-threads to ->real_parent->children list. This buys nothing but slows down do_wait(). With this patch ->children contains only main threads (group leaders). The only complication is that forget_original_parent() should iterate over sub-threads by hand, and de_thread() needs another list_replace() when it changes ->group_leader. Henceforth do_wait_thread() can never see task_detached() && !EXIT_DEAD tasks, we can remove this check (and we can unify do_wait_thread() and ptrace_do_wait()). This change can confuse the optimistic search in mm_update_next_owner(), but this is fixable and minor. Perhaps badness() and oom_kill_process() should be updated, but they should be fixed in any case. Signed-off-by: Oleg Nesterov <oleg@redhat.com> Cc: Roland McGrath <roland@redhat.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Ratan Nalumasu <rnalumasu@gmail.com> Cc: Vitaly Mayatskikh <vmayatsk@redhat.com> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-