On Mon, Jun 18, 2007 at 02:49:24PM +0900, Yasunori Goto wrote:
-static inline unsigned long zone_absent_pages_in_node(int nid,
+static inline unsigned long __meminit zone_absent_pages_in_node(int nid,
unsigned long zone_type,
This brings Blackfin and x86_64 into line with all other architectures by only
defining cond_syscall() when __KERNEL__ is defined.
Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
---
diff --git a/include/asm-blackfin/unistd.h b/include/asm-blackfin/unistd.h
index 4df8790..0df9f2d 100644
---
Rodney Gordon II wrote:
This is the screen image I took with my digital camera when bootup
freezes:
http://spherevision.org/sync/visual/itefreeze.jpg
After this freeze, not even SysRq commands work.
On a side-note, the non-libata drivers boot up, but throw tons of DMA
errors after one DVD
Most of the macros in msr.h already use __asm__ and __volatile__, this patch
brings the rest into line. This is needed since these get exported into
userspace (need to use strict __asm__ vs asm when gcc compiles with GNU
extensions turned off).
Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
---
On Sun, 2007-06-17 at 19:14 +0200, Gabor Czigola wrote:
Hello!
I didn't follow the whole thread from the beginning, but I see that
there are pros and cons for both versions of GPL.
I wonder why the linux kernel development community couldn't propose
an own GPL draft (say v2.2) that is as
Since asm-ia64/gcc_intrin.h gets exported to userspace, we need to make sure
to use __asm__() rather than asm() since the latter is not available when
compiling with gcc with GNU extensions turned off (like -std=c99).
Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
---
diff --git
Since asm-s390/ptrace.h is exported to userspace, we need to make sure we use
__asm__() rather than asm() as the latter is disabled when gcc compiles with
GNU extensions turned off (like -std=c99).
Signed-off-by: Mike Frysinger [EMAIL PROTECTED]
---
diff --git a/include/asm-s390/ptrace.h
On Mon, Jun 18, 2007 at 01:43:04AM +0200, Adrian Bunk wrote:
Allow gcc to perform show_registers() type checking also with
CONFIG_KPROBES=n.
Adrian,
Please implement it as Andrew suggested, when this was patch was posted
eariler. Refer this discussion thread below.
On Mon, Jun 18 2007, Dave Young wrote:
I rewite the patch according to yours, please help to check. Pass the
cdrom_print_info function one more argument for diffrent type
printing, do you have better solutions for this? thanks for replying
:)
Yep that looks much better! I trust you booted and
On 6/18/07, Andrew Morton [EMAIL PROTECTED] wrote:
On Mon, 18 Jun 2007 01:17:46 -0400 Mike Frysinger [EMAIL PROTECTED] wrote:
On Monday 18 June 2007, Andrew Morton wrote:
And does the kernel pass these checks?
nope ... should i audit the arches before this gets merged ?
Yes please. I'd
On Mon, Jun 18, 2007 at 02:49:24PM +0900, Yasunori Goto wrote:
-static inline unsigned long zone_absent_pages_in_node(int nid,
+static inline unsigned long __meminit zone_absent_pages_in_node(int nid,
unsigned long zone_type,
On Sun, Jun 17, 2007 at 07:45:38PM -0500, Chris Adams wrote:
Once upon a time, Bron Gondwana [EMAIL PROTECTED] said:
To be fair here, this could also be accomplished by having to flip a
physical switch on the router, especially if you did something funky
like:
[---] push this button
Hi,
Yep that looks much better! I trust you booted and tested this and the
output looks correct?
Yes, I tested and the output is correct.
BTW, another problem, I can't find the CONFIG_CDROM option in kernel
config menu. Is it deperacated? If it is true, is the module part
still necessary?
On Sun, Jun 17, 2007 at 11:49:40PM +0200, Pavel Machek wrote:
Hi!
I hate having to recompile the kernel, just to be able to debug suspend.
Remove CONFIG_DISABLE_CONSOLE_SUSPEND, replace it by a tunable in
/sys/power/disable_console_suspend.
Signed-off-by: Stefan
* Miklos Szeredi [EMAIL PROTECTED] wrote:
could you try the quick hack below, ontop of cfs-v17? It adds two
things to wait_task_inactive():
- a cond_resched() [in case you are running !PREEMPT]
- use MONITOR+MWAIT to monitor memory transactions to the rq-curr
cacheline. This
On Mon, Jun 18 2007, dave young wrote:
Hi,
Yep that looks much better! I trust you booted and tested this and the
output looks correct?
Yes, I tested and the output is correct.
Good
BTW, another problem, I can't find the CONFIG_CDROM option in kernel
config menu. Is it deperacated? If it
Hi,
On 6/18/07, Yasunori Goto [EMAIL PROTECTED] wrote:
On Mon, Jun 18, 2007 at 02:49:24PM +0900, Yasunori Goto wrote:
-static inline unsigned long zone_absent_pages_in_node(int nid,
+static inline unsigned long __meminit zone_absent_pages_in_node(int nid,
Hi,
BTW, another problem, I can't find the CONFIG_CDROM option in kernel
config menu. Is it deperacated? If it is true, is the module part
still necessary?
cdrom.o is a hardware independent helper module, it gets included if you
use atapi/scsi/etc cdrom drivers. See drivers/cdrom/Makefile.
On Mon, Jun 18 2007, dave young wrote:
Hi,
BTW, another problem, I can't find the CONFIG_CDROM option in kernel
config menu. Is it deperacated? If it is true, is the module part
still necessary?
cdrom.o is a hardware independent helper module, it gets included if you
use atapi/scsi/etc
Hi Soeren,
On Sun, 17 Jun 2007 11:16:43 +0200, Soeren Sonnenburg wrote:
On Sat, 2007-06-16 at 23:17 +0200, Jean Delvare wrote:
Thanks for reporting. Indeed this patch is broken, sorry for
overlooking it. I tested it but my hardware is such that the faulty
error path was never taken. Please
* Randy Dunlap [EMAIL PROTECTED] [2007-06-18 06:26]:
+static int blink = 0;
no need to init to 0.
Does it harm?
+module_param(blink, bool, S_IRUGO);
+MODULE_PARM_DESC(blink, Enable blinking (without that, the module does
nothing)\n);
unneeded \n
Fixed. Please use the following
On Mon, 18 Jun 2007 09:25:48 +0900
Paul Mundt [EMAIL PROTECTED] wrote:
$ git show d09c6b809432668371b5de9102f4f9aa6a7c79cc | patch -p1 -R
... build and test ...
$ git show d09c6b809432668371b5de9102f4f9aa6a7c79cc | patch -p1
... back to original (or git checkout-index -f mm/page_alloc.c) ...
Am Montag 18 Juni 2007 02:56 schrieb Alexandre Oliva:
Anyhow, AFAIK software in ROM is not non-Free Software. That it's
impossible to modify/replace/whathaveyou it is not the result of a
restriction that someone is imposing on you.
It's the difference between you can't fly because you
If this solves the problem on your box then i'll do a proper fix and
introduce a cpu_relax_memory_change(*addr) type of API to around
monitor/mwait. This patch boots fine on my T60 - but i never saw
your problem.
Yes, the patch does make the pauses go away. In fact just the
On 6/18/07, Satyam Sharma [EMAIL PROTECTED] wrote:
Hi,
On 6/18/07, Yasunori Goto [EMAIL PROTECTED] wrote:
On Mon, Jun 18, 2007 at 02:49:24PM +0900, Yasunori Goto wrote:
-static inline unsigned long zone_absent_pages_in_node(int nid,
+static inline unsigned long __meminit
Mike Frysinger wrote:
Most of the macros in msr.h already use __asm__ and __volatile__, this patch
brings the rest into line. This is needed since these get exported into
userspace (need to use strict __asm__ vs asm when gcc compiles with GNU
extensions turned off).
---
diff --git
On Mon, Jun 18, 2007 at 02:23:06AM -0400, Mike Frysinger wrote:
Since asm-s390/ptrace.h is exported to userspace, we need to make sure we use
__asm__() rather than asm() as the latter is disabled when gcc compiles with
GNU extensions turned off (like -std=c99).
Signed-off-by: Mike Frysinger
Jared Hulbert wrote:
We would still need to add the kernel mapping though.
But that's handled by ioremap()ing it right?
That's right. Ioremap will give you a permanent kernel space mapping
until you do iounmap() again.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel
On Fri, 2007-06-15 at 17:24 +0200, Arnd Bergmann wrote:
On Friday 15 June 2007, Vasily Tarasov wrote:
I just noticed that we can not avoid the addition of packed attribute.
Look, for example:
struct if_dqblk {
__u64 dqb_bhardlimit;
__u64 dqb_bsoftlimit;
Signed-Off-By: Denis Cheng [EMAIL PROTECTED]
--- arch/x86_64/mm/init.c 2007-06-07 10:08:04.0 +0800
+++ /tmp/init.c 2007-06-18 14:43:15.0 +0800
@@ -406,8 +406,7 @@ void __cpuinit zap_low_mappings(int cpu)
#ifndef CONFIG_NUMA
void __init paging_init(void)
{
- unsigned
On Mon, Jun 18, 2007 at 02:49:24PM +0900, Yasunori Goto wrote:
}
-static inline unsigned long zone_absent_pages_in_node(int nid,
+static inline unsigned long __meminit zone_absent_pages_in_node(int nid,
unsigned long zone_type,
Signed-Off-By: Denis Cheng [EMAIL PROTECTED]
--- arch/x86_64/mm/init.c.orig 2007-06-07 10:08:04.0 +0800
+++ arch/x86_64/mm/init.c 2007-06-18 14:43:15.0 +0800
@@ -406,8 +406,7 @@ void __cpuinit zap_low_mappings(int cpu)
#ifndef CONFIG_NUMA
void __init paging_init(void)
{
On Mon, Jun 18, 2007 at 12:58:34PM +0530, Satyam Sharma wrote:
Actually, modpost will _not_ complain precisely _because_ kernel
uses always_inline so a separate body for the function will never be
emitted at all.
That has been threaten to change many times. Far far far too much
are marked
David Greaves wrote:
David Robinson wrote:
David Greaves wrote:
This isn't a regression.
I was seeing these problems on 2.6.21 (but 22 was in -rc so I waited
to try it).
I tried 2.6.22-rc4 (with Tejun's patches) to see if it had improved -
no.
Note this is a different (desktop) machine to
Ping Dave,
Since there doesn't seem to be any new ideas forthcoming, can we
please decide on either one of my two sumbitted patches?
Thanks,
Miklos
[CC'd Al Viro and Alan Cox, restored patch]
There are races involving the garbage collector, that can throw away
perfectly good packets
On Sun, Jun 17, 2007 at 06:54:24PM -0400, Mike Frysinger wrote:
This updates scripts/hdrschecks.sh by grepping for asm() constructs and
rejecting them in favor of __asm__() in exported headers.
Hi Mike.
I have a new version of hdrcheck in works written in perl
and a bit faster too.
I hope to
From: Miklos Szeredi [EMAIL PROTECTED]
Date: Mon, 18 Jun 2007 09:49:32 +0200
Ping Dave,
Since there doesn't seem to be any new ideas forthcoming, can we
please decide on either one of my two sumbitted patches?
You just need to be patient, we can't just put a bad patch
in because a better
Hi Jeff,
Ok ... second part of my problem. Where should I look in trying to debug
the below problem...
Regards
Nigel
Jun 18 07:59:56 nigel-m2v kernel: ata2.00: exception Emask 0x0 SAct 0x0
SErr 0x0 action 0x2 frozen
Jun 18 07:59:56 nigel-m2v kernel: ata2.00: cmd
On Monday 18 June 2007, Sam Ravnborg wrote:
On Sun, Jun 17, 2007 at 06:54:24PM -0400, Mike Frysinger wrote:
This updates scripts/hdrschecks.sh by grepping for asm() constructs and
rejecting them in favor of __asm__() in exported headers.
I have a new version of hdrcheck in works written in
* Miklos Szeredi [EMAIL PROTECTED] wrote:
My previous attempt was just commenting out parts of your patch. But
maybe it's more logical to move the barrier to immediately after the
unlock.
With this patch I can't reproduce the problem, which may not mean very
much, since it was rather
From: Vasily Tarasov [EMAIL PROTECTED]
This patch should be applied after Arnd Bergmann's patch,
that intoduces new compat types:
http://lkml.org/lkml/2007/6/15/98
OpenVZ Linux kernel team has discovered the problem
with 32bit quota tools working on 64bit architectures.
In 2.6.10 kernel
On Mon, 2007-06-18 at 09:36 +0200, Heiko Carstens wrote:
Hmm.. spka is a sort of priviledged instruction and shouldn't be
user space visible.
I will move it so it's under #ifdef __KERNEL__.
Yes, I think this is better. On a side node, why did we add psw_set_key
to ptrace.h? processor.h would
From: Miklos Szeredi [EMAIL PROTECTED]
Date: Mon, 18 Jun 2007 09:49:32 +0200
Ping Dave,
Since there doesn't seem to be any new ideas forthcoming, can we
please decide on either one of my two sumbitted patches?
You just need to be patient, we can't just put a bad patch
in because a
On Mon, 18 Jun 2007 10:12:04 +0200 Ingo Molnar [EMAIL PROTECTED] wrote:
Subject: [patch] x86: fix spin-loop starvation bug
From: Ingo Molnar [EMAIL PROTECTED]
Miklos Szeredi reported very long pauses (several seconds, sometimes
more) on
On Mon, Jun 18, 2007 at 10:15:18AM +0200, Martin Schwidefsky wrote:
On Mon, 2007-06-18 at 09:36 +0200, Heiko Carstens wrote:
Hmm.. spka is a sort of priviledged instruction and shouldn't be
user space visible.
I will move it so it's under #ifdef __KERNEL__.
Yes, I think this is better.
To test this theory, could you try the patch below, does this fix your
hangs too?
Not tried yet, but obviously it does, since it's a superset of the
previous fix. I could try without the smb_mb(), but see below.
This change causes the memory access of the easy spin-loop portion
to be more
(Ravikiran Cc:-ed too)
* Miklos Szeredi [EMAIL PROTECTED] wrote:
To test this theory, could you try the patch below, does this fix
your hangs too?
Not tried yet, but obviously it does, since it's a superset of the
previous fix. I could try without the smb_mb(), but see below.
oops -
Hey Guys,
I can't understand the following instructions from
arch/ppc/mm/hashtable.S::hash_page. If I got the right design, the
following instruction is to get the PMD (Page Middle Descritor) because
Linux for 32-bits PowerPC cut page table into 3 domains: root, PMD, PTE.
The top bits (22 to
This change causes the memory access of the easy spin-loop portion
to be more agressive: after the REP; NOP we'd not do the 'easy-loop'
with a simple CMPB, but we'd re-attempt the atomic op.
It looks as if this is going to overflow of the lock counter, no?
hm, what do you mean?
Greg KH napsal(a):
On Sun, Jun 17, 2007 at 09:08:31AM +0200, Jiri Slaby wrote:
Greg KH napsal(a):
Why? What good is this going to do in the long run?
It's just cleanup to get rid of things like this:
#define PCI_DEVICE_ID_PROMISE_20246 0x4d33
#define PCI_DEVICE_ID_PROMISE_20262 0x4d38
On Mon, 2007-06-18 at 01:24 +0200, Arnd Bergmann wrote:
On Monday 18 June 2007, Arjan van de Ven wrote:
On Sun, 2007-06-17 at 18:33 -0400, Mike Frysinger wrote:
This changes asm() to __asm__() and volatile to __volatile__ so that these
headers can be used with gcc's -std=c99.
hmm
lanai, change VENDOR to DEVICE
There were 2 bad named macros in pci_ids (LANAI 2 and IHB). Rename it to
DEVICE, because it's device id. Also make some cleanpu in pci_device_id
table (use PCI_VDEVICE).
Cc: Mitchell Blank Jr [EMAIL PROTECTED]
Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
---
commit
traps, change VENDOR to DEVICE
Change macro for SGI lithium (arch/i386/mach-visws/traps.c) device from
VENDOR to DEVICE, because it's a device id.
Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
---
commit 2c144a8d6501ff8b137077b776df00423ca9ac19
tree a915ec153831006986b50960fa2303c8ef80e424
parent
pci_ids, reorder some entries
Some lines are not vendor sorted, reorder it to comply with the rest of
document.
Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
---
commit 6e779d054a804b16394dacb669facc3b1da8aae8
tree 8026f30611eae7bfcb30d3f32416dda2eb2bbbcc
parent
pci_ids, add atheros and 3com_2 vendors
Atheros is wifi vendor. 3com_2 (0xa727) is an vendor id for one card with
ath chip.
Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
---
commit 9aec913bf7bedc252b466f9d8022abe5d9eae449
tree 9b1eb9cf33e1689f9ff5bab4b73bc9833f3a7098
parent
pci_ids, remove two or more empty lines
Signed-off-by: Jiri Slaby [EMAIL PROTECTED]
---
commit d8c9e4ff7507e189984e7adce8f0a6358517512a
tree dc6b13e2e5b6d97fa371bae323508bba1156a5af
parent 9aec913bf7bedc252b466f9d8022abe5d9eae449
author Jiri Slaby [EMAIL PROTECTED] Mon, 18 Jun 2007 10:47:59
On Mon, 18 Jun 2007 16:33:22 +0800, gshan [EMAIL PROTECTED] wrote:
I can't understand the following instructions from
arch/ppc/mm/hashtable.S::hash_page. If I got the right design, the
following instruction is to get the PMD (Page Middle Descritor) because
Linux for 32-bits PowerPC cut page
David Brown [EMAIL PROTECTED] writes:
I was looking at various file systems and how they return
stat.st_blocks and stat.st_size for directories and had some questions
on how a fuse filesystem is supposed to implement readdir with the
seek offset when trying to union two directories together.
From: Miklos Szeredi [EMAIL PROTECTED]
Date: Mon, 18 Jun 2007 10:20:23 +0200
And is anyone working on a better patch?
I have no idea.
Those patches aren't bad in the correctness sense. So IMO any one
of them is better, than having that bug in there.
You're adding a very serious performance
* Miklos Szeredi [EMAIL PROTECTED] wrote:
This change causes the memory access of the easy spin-loop portion
to be more agressive: after the REP; NOP we'd not do the 'easy-loop'
with a simple CMPB, but we'd re-attempt the atomic op.
It looks as if this is going to overflow
On Sat, 16 Jun 2007 22:54:56 -0300, Alexandre Oliva wrote:
I don't know any law that requires tivoization.
Not exactly laws, but pretty close:
Credit-card payment terminals are subject to strict security
certification, where it has to be ensured that
a) the user cannot tinker with the device
This is V2 for the memory compaction patches. They depend on the two starting
patches from the memory hot-remove patchset which I've included here as the
first patch. All comments are welcome and they should be in a state useful
for wider testing.
Changelog since V1
o Bug fix when checking if a
This is a rollup of two patches from KAMEZAWA Hiroyuki. A slightly later
version exists but this is the one I tested with and it checks page_mapped()
with the RCU lock held.
Patch 1 is page migration by kernel v5.
Patch 2 is isolate lru page race fix.
Changelog V5-V6
- removed dummy_vma and
CONFIG_MIGRATION currently depends on CONFIG_NUMA. move_pages() is the only
user of migration today and as this system call is only meaningful on NUMA,
it makes sense. However, memory compaction will operate within a zone and is
useful on both NUMA and non-NUMA systems. This patch allows
Migration uses isolate_lru_page() to isolate an LRU page. This acquires
the zone-lru_lock to safely remove the page and place it on a private
list. However, this prevents the caller from batching up isolation of
multiple pages. This patch introduces a nolock version of isolate_lru_page()
for
It is useful to know the state of external fragmentation in the system
and whether allocation failures are due to low memory or external
fragmentation. This patch introduces two metrics for evaluation the state
of fragmentation and exports the information to /proc/pagetypeinfo. The
metrics will
This patch is the core of the memory compaction mechanism. It compacts memory
in a zone such that movable pages are relocated towards the end of the zone.
A single compaction run involves a migration scanner and a free scanner.
Both scanners operate on pageblock-sized areas in the zone. The
This patch adds a special file /proc/sys/vm/compact_node. When a number is
written to this file, each zone in that node will be compacted.
Signed-off-by: Mel Gorman [EMAIL PROTECTED]
Acked-by: Andy Whitcroft [EMAIL PROTECTED]
---
include/linux/compaction.h |7 +
kernel/sysctl.c
Ordinarily when a high-order allocation fails, direct reclaim is entered to
free pages to satisfy the allocation. With this patch, it is determined if
an allocation failed due to external fragmentation instead of low memory
and if so, the calling process will compact until a suitable page is
From: Miklos Szeredi [EMAIL PROTECTED]
Date: Mon, 18 Jun 2007 11:29:52 +0200
And is anyone working on a better patch?
I have no idea.
Those patches aren't bad in the correctness sense. So IMO any one
of them is better, than having that bug in there.
You're adding a very
And is anyone working on a better patch?
I have no idea.
Those patches aren't bad in the correctness sense. So IMO any one
of them is better, than having that bug in there.
You're adding a very serious performance regression, which is
about as bad as the bug itself.
No,
* Ingo Molnar [EMAIL PROTECTED] wrote:
This change causes the memory access of the easy spin-loop
portion to be more agressive: after the REP; NOP we'd not do
the 'easy-loop' with a simple CMPB, but we'd re-attempt the
atomic op.
It looks as if this is going to
* Ingo Molnar [EMAIL PROTECTED] wrote:
how about the patch below? Boot-tested on 32-bit. As a side-effect
this change also removes the 255 CPUs limit from the 32-bit kernel.
boot-tested on 64-bit too now.
Ingo
-
To unsubscribe from this list: send the line unsubscribe linux-kernel
And is anyone working on a better patch?
I have no idea.
Those patches aren't bad in the correctness sense. So IMO any one
of them is better, than having that bug in there.
You're adding a very serious performance regression, which is
about as bad as the bug
On Jun 16, 2007 16:53 +0200, Jörn Engel wrote:
On Fri, 15 June 2007 15:51:07 -0700, alan wrote:
Thus, in the end it turns out that this stuff is better handled by
explicit version-control systems (which require explicit operations to
manage revisions) and atomic snapshots (for backup.)
From: Miklos Szeredi [EMAIL PROTECTED]
Date: Mon, 18 Jun 2007 11:44:07 +0200
Secondarily, this bug has been around for years and nobody noticed.
The world will not explode if this bug takes a few more days or
even a week to work out. Let's do it right instead of ramming
arbitrary turds
Is there some comments on this?
Signed-Off-By: Denis Cheng [EMAIL PROTECTED]
--
--- arch/x86_64/mm/init.c.orig 2007-06-07 10:08:04.0 +0800
+++ arch/x86_64/mm/init.c 2007-06-18 14:43:15.0 +0800
@@ -406,8 +406,7 @@ void __cpuinit zap_low_mappings(int cpu)
#ifndef
Hello Bjorn,
Sorry for the delay in my reponse.
From: Björn Steinbrink [EMAIL PROTECTED]
Separate the performance counter reservation system from the nmi
watchdog to allow usage of all performance counters even if the nmi
watchdog is not used.
I think it is a good idea to separate
Andreas Dilger wrote:
Too bad everyone is spending time on 10 similar-but-slightly-different
filesystems. This will likely end up with a bunch of filesystems that
implement some easy subset of features, but will not get polished for
users or have a full set of features implemented (e.g. ACL,
Secondarily, this bug has been around for years and nobody noticed.
The world will not explode if this bug takes a few more days or
even a week to work out. Let's do it right instead of ramming
arbitrary turds into the kernel.
Fine, but just wishing a bug to get fixed won't
The function we are calling to initialize object debug state during early
NUMA bootstrap sets up an inactive object giving it the wrong redzone
signature. The bootstrap nodes are active objects and should have active redzone
signatures.
Currently slab validation complains and reverts the object
A kernel convention for many allocators is that if __GFP_ZERO is passed to
an allocator then the allocated memory should be zeroed.
This is currently not supported by the slab allocators. The inconsistency
makes it difficult to implement in derived allocators such as in the uncached
allocator and
The size of a kmalloc object is readily available via ksize().
ksize is provided by all allocators and thus we canb implement
krealloc in a generic way.
Implement krealloc in mm/util.c and drop slab specific implementations
of krealloc.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
It becomes now easy to support the zeroing allocs with generic inline functions
in slab.h. Provide inline definitions to allow the continued use of
kzalloc, kmem_cache_zalloc etc but remove other definitions of zeroing functions
from the slab allocators and util.c.
Signed-off-by: Christoph
These contain the following groups of patches:
1. Slab allocator code consolidation and fixing of inconsistencies
This makes ZERO_SIZE_PTR generic so that it works in all
slab allocators.
It adds __GFP_ZERO support to all slab allocators and
cleans up the zeroing in the slabs and provides
kmalloc_node() and kmem_cache_alloc_node() were not available in
a zeroing variant in the past. But with __GFP_ZERO it is possible
now to do zeroing while allocating.
Use __GFP_ZERO to remove the explicit clearing of memory via memset whereever
we can.
Signed-off-by: Christoph Lameter [EMAIL
Define ZERO_OR_NULL_PTR macro to be able to remove the checks
from the allocators. Move ZERO_SIZE_PTR related stuff into slab.h.
Make ZERO_SIZE_PTR work for all slab allocators and get rid of the
WARN_ON_ONCE(size == 0) that is still remaining in SLAB.
Make slub return NULL like the other
Add #ifdefs around data structures only needed if debugging is compiled
into SLUB.
Add inlines to small functions to reduce code size.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
include/linux/slub_def.h |4
mm/slub.c| 13 +++--
2 files changed, 11
The rarely used dma functionality in get_slab() makes the function too
complex. The compiler begins to spill variables from the working set onto
the stack. The created function is only used in extremely rare cases so make
sure that the compiler does not decide on its own to merge it back into
We modify the kmalloc_cache_dma[] array without proper locking.
Do the proper locking and undo the dma cache creation if another processor
has already created it.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
mm/slub.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
We use the parameter formerly used by the destructor to pass an optional
pointer to a kmem_cache_ops structure to kmem_cache_create.
kmem_cache_ops is created as empty. Later patches populate kmem_cache_ops.
Create a KMEM_CACHE_OPS macro that allows the specification of a the
kmem_cache_ops.
-D lists caches that support defragmentation
-C lists caches that use a ctor.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
Documentation/vm/slabinfo.c | 39 ++-
1 file changed, 34 insertions(+), 5 deletions(-)
Index:
Slab defragmentation occurs either
1. Unconditionally when kmem_cache_shrink is called on slab by the kernel
calling kmem_cache_shrink or slabinfo triggering slab shrinking. This
form performs defragmentation on all nodes of a NUMA system.
2. Conditionally when
At some point slab defragmentation needs to be triggered. The logical
point for this is after slab shrinking was performed in vmscan.c. At
that point the fragmentation ratio of a slab was increased by objects
being freed. So we call kmem_cache_defrag from there.
kmem_cache_defrag takes the defrag
This implements the ability to remove inodes in a particular slab
from inode cache. In order to remove an inode we may have to write out
the pages of an inode, the inode itself and remove the dentries referring
to the node.
Provide generic functionality that can be used by filesystems that have
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
fs/proc/inode.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
Index: slub/fs/proc/inode.c
===
--- slub.orig/fs/proc/inode.c 2007-06-04
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
---
net/socket.c | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
Index: slub/net/socket.c
===
--- slub.orig/net/socket.c 2007-06-06 15:19:29.0
Special function kmem_cache_vacate() to push out the objects in a
specified slab. In order to make that work we will have to handle
slab page allocations in such a way that we can determine if a slab is valid
whenever we access it regardless of its time in life.
A valid slab that can be freed
Sysfs can do a gazillion things when called. Make sure that we do
not call any sysfs functions while holding the slub_lock.
Just protect the essentials:
1. The list of all slab caches
2. The kmalloc_dma array
3. The ref counters of the slabs.
Signed-off-by: Christoph Lameter [EMAIL PROTECTED]
get() uses the dcache lock and then works with dget_locked to obtain a
reference to the dentry. An additional complication is that the dentry
may be in process of being freed or it may just have been allocated.
We add an additional flag to d_flags to be able to determined the
status of an object.
1 - 100 of 1101 matches
Mail list logo