Fixing compiler error with some gcc version(s) that do not
support __builtin_log2(). Replacing __builtin_log2() with
ilog2().
Signed-off-by: T. Makphaibulchoke
---
fs/mbcache.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/mbcache.c b/fs/mbcache.c
index bf166e3
| | | | | | | | | |
-
Signed-off-by: T. Makphaibulchoke
---
Changed in v3:
- Changed patch description
- Reverted back to using a single mutex, s_ondisk_orphan_mutex, for
both on disk and in memory orphan
/dev/shm | | | | | | | | | |
-
Signed-off-by: T. Makphaibulchoke
---
Changed in v2:
- New performance data
- Fixed problem in v1
- No chang
This patch changes each mb_cache's both block and index hash chains from
regular linked list to hlist_bl_node, which contains a built-in lock. This is
the first step in decoupling of locks serializing accesses to mb_cache global
data and each mb_cache_entry local data.
Signed-off-
in v2:
- New performance data
- New diff summary
T Makphaibulchoke (3):
fs/mbcache.c change block and index hash chain to hlist_bl_node
mbcache: decoupling the locking of local from global data
ext4: each filesystem creates and uses its own mb_cache
fs/ext4/ext4.h | 1 +
fs
venting an mb_cache_entry from being deallocated by a free while it is
being referenced by either mb_cache_entry_get() or mb_cache_entry_find().
Signed-off-by: T. Makphaibulchoke
---
fs/mbcache.c | 417 ++-
1 file changed, 301 insertions(+), 116
mounted a
cache is allocated and attched to its ext4_sb_info structure.
fs/mbcache.c has been changed so that only one slab allocator is allocated
and used by all mbcache structures.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24
fs/ext4
This patch changes each mb_cache's both block and index hash chains from
regular linked list to hlist_bl_node, which contains a built-in lock. This is
the first step in decoupling of locks serializing accesses to mb_cache global
data and each mb_cache_entry local data.
Signed-off-
venting an mb_cache_entry from being deallocated by a free while it is
being referenced by either mb_cache_entry_get() or mb_cache_entry_find().
Signed-off-by: T. Makphaibulchoke
---
Changed in v5:
- Added mb_cache_bg_lock, which is used to serialize accesses to an
mb_cache_entry
in v2:
- New performance data
- New diff summary
T Makphaibulchoke (3):
fs/mbcache.c change block and index hash chain to hlist_bl_node
mbcache: decoupling the locking of local from global data
ext4: each filesystem creates and uses its own mb_cache
fs/ext4/ext4.h | 1 +
fs
mounted a
cache is allocated and attched to its ext4_sb_info structure.
fs/mbcache.c has been changed so that only one slab allocator is allocated
and used by all mbcache structures.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24
fs/ext4
.
fs/ext4/super.c has been changed so that when a filesystem is mounted a
cache is allocated and attched to its ext4_sb_info structure.
fs/mbcache.c has been changed so that only one slab allocator is allocated
and used by all mbcache structures.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/e
data mb_cache_lru_list and mb_cache_list continue to be protected by the
global mb_cache_spinlock.
A new spinlock is also added to the mb_cache_entry to protect its local data,
e_used and e_queued.
Signed-off-by: T. Makphaibulchoke
---
fs/mbcache.c
This patch changes each mb_cache's both block and index hash chains from
regular linked list to hlist_bl_node, which contains a built-in lock. This is
the first step in decoupling of locks serializing accesses to mb_cache global
data and each mb_cache_entry local data.
Signed-off-
mance data
- New diff summary
T Makphaibulchoke (3):
fs/mbcache.c change block and index hash chain to hlist_bl_node
mbcache: decoupling the locking of local from global data
ext4: each filesystem creates and uses its own mc_cache
fs/ext4/ext4.h | 1 +
fs/ext4/su
emory | | | | | | | | |
-----
T Makphaibulchoke (2):
fs/ext4: adding and initalizing new members of ext4_inode_info and
ext4_sb_info
fs/ext4/namei.c: reducing contention on s_orphan_lock mmutex
fs/ext4/ext4.h | 5 +-
fs/ext4/inode.c | 1 +
fs/ext4/namei.c
s_orphan_lock from mutex to spinlock in the ext4_sb_info
structure in fs/ext4/inode.c.
Adding code to initialize newly added spinlock and mutex members in
fs/ext4/super.c.
Adding code to initialize the newly added i_orphan_mutex member of an
ext4_inode_info
Signed-off-by: T. Makphaibulchoke
---
fs
inode.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/namei.c | 139
1 file changed, 100 insertions(+), 39 deletions(-)
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
index 35f55a0..d7d3d0f 100644
--- a/fs/ext4/namei.c
+++ b/fs/ext4/namei.c
data mb_cache_lru_list and mb_cache_list continue to be protected by the
global mb_cache_spinlock.
Signed-off-by: T. Makphaibulchoke
---
Changed in v3:
- Removed all hash lock macros.
- Fixed a possible race condition updating the e_used and
e_queued members of an mb_cache_
with ext4 xfstests to verify that no regression
has been introduced.
Changed in v3:
- New diff summary
Changed in v2:
- New performance data
- New diff summary
T Makphaibulchoke (2):
mbcache: decoupling the locking of local from global data
ext4: each filesystem cr
a
cache is allocated and attched to its ext4_sb_info structure.
Signed-off-by: T. Makphaibulchoke
---
Changed in v3:
- No change
Changed in v2:
- No change
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24
fs/ext4/xattr.c | 51
-off-by: T. Makphaibulchoke
---
Changed in v2:
- As per Linus Torvalds' suggestion, instead of allocating spinlock
arrays to protect the hash chains, use hlist_bl_head, which already
contains builtin lock.
fs/mbcache.c
a
cache is allocated and attched to its ext4_sb_info structure.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24
fs/ext4/xattr.c | 51 ---
fs/ext4/xattr.h | 6 +++---
4 files changed, 48
in v2:
- New performance data
- New diff summary
T Makphaibulchoke (2):
mbcache: decoupling the locking of local from global data
ext4: each filesystem creates and uses its own mc_cache
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24 ++--
fs/ext4/xattr.c
a
cache is allocated and attched to its ext4_sb_info structure.
Signed-off-by: T. Makphaibulchoke
---
fs/ext4/ext4.h | 1 +
fs/ext4/super.c | 24
fs/ext4/xattr.c | 51 ---
fs/ext4/xattr.h | 6 +++---
4 files changed, 48
-off-by: T. Makphaibulchoke
---
fs/mbcache.c| 419 +---
include/linux/mbcache.h | 5 +
2 files changed, 334 insertions(+), 90 deletions(-)
diff --git a/fs/mbcache.c b/fs/mbcache.c
index 8c32ef3..01a0c09 100644
--- a/fs/mbcache.c
+++ b/fs
This patch intends to improve the scalability of an ext4 filesystem by
introducing higher degree of parallelism to the usages of its mb_cache and
mb_cache_entries.
Here are some of the benchmark results with the changes.
On a 90 core machine:
Here are the performance improvements in some of the
This patch intends to improve the scalability of an ext4 filesystem by
introducing higher degree of parallelism to the usages of its mb_cache and
mb_cache_entries.
Here are some of the benchmark results with the changes.
On a 90 core machine:
Here are the performance improvements in some of the
[ 69.268953] init_memory_mapping: [mem 0x003ff000-0x003e]
[ 69.270216] init_memory_mapping: [mem 0x-0x003e]
[ 69.270651] [mem 0x-0x001f] page 2M
[ 69.271016] [mem 0x0020-0x003fefff] page 4k
Signed-off-by: T Makphaibulchoke
---
arch/x86/platform/efi/efi_64.c |6
Changing devmem_is_allowed so that on an EFI machine, access to physical
address below 1 MB is allowed only to physical pages that are valid in
the EFI memory map. This prevents the possibility of an MCE due to
accessing an invalid physical address.
Signed-off-by: T Makphaibulchoke
---
arch
Commit-ID: 73e8f3d7e2cb23614d5115703d76d8e54764b641
Gitweb: http://git.kernel.org/tip/73e8f3d7e2cb23614d5115703d76d8e54764b641
Author: T Makphaibulchoke
AuthorDate: Tue, 28 Aug 2012 21:21:43 -0600
Committer: Ingo Molnar
CommitDate: Thu, 13 Sep 2012 17:35:54 +0200
x86/mm/init.c: Fix
In the case that init_memory_mapping failed, returning a NULL, simply return.
An attempt to recursively invoke efi_io_remap could result in mapping of a
wrong range, 0 to size + physaddr, instead of the intended physaddr to
physaddr + size - 1 range.
Signed-off-by: T Makphaibulchoke
---
arch
Adding the memcpy functions, removed from misc.c, to
arch/x86/boot/compressed/string.c
Signed-off-by: T. Makphaibulchoke
--
Change since v2:
* Instead of calling memcpy, memmove manually copying data to ensure data
integrity.
* Replacing ifdef HAVE_PREBOOT_XXX with architecture specific weak
regions. The kernel no longer panicked
with stack overflow.
Also tested with code arbitrarily adding regions with no conflict, embedding
two consecutive conflicts and embedding two non-consecutive conflicts.
Signed-off-by: T Makphaibulchoke
---
Change since v2:
* Initializing both the name and
Using recurvise call to try adding a non-conflicting region in the function
__reserve_region_with_split() could result in a stack overflow in the case
that the recursive calls are too deep. Convert the recursive calls to
an iterative loop to avoid the problem.
Signed-off-by: T Makphaibulchoke
Fixing an off-by-one error in devmem_is_allowed(), which allows accesses to
physical addresses 0x10-0x100fff, an extra page past 1MB.
Signed-off-by: T Makphaibulchoke
---
arch/x86/mm/init.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/mm/init.c b/arch
Using recurvise call to try adding a non-conflicting region in the function
__reserve_region_with_split() could result in a stack overflow in the case
that the recursive calls are too deep. Convert the recursive calls to
an iterative loop to avoid the problem.
Signed-off-by: T Makphaibulchoke
37 matches
Mail list logo