05 Feb, 2006
23 commits
-
Conditionalize two unwind directives to match other similarly
conditional code.Signed-Off-By: Jan Beulich
Cc: Jim Houston
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
On some broken motherboards (at least one NForce3 based AMD64 laptop)
the PIT timer runs at a incorrect frequency. This patch adds a new
option "apicpmtimer" that allows to use the APIC timer and calibrate it
using the PMTimer. It requires the earlier patch that allows to run the
main timer from the APIC.Specifying apicpmtimer implies apicmaintimer.
The option defaults to off for now.
I tested it on a few systems and the resulting APIC timer frequencies
were usually a bit off, but always
Signed-off-by: Linus Torvalds -
kprobes cannot deal with the funny calling conventions when it
runs on a different stack when it returns. If someone wants
to instrument context switch they can add a probe to schedule()
instead.Cc: jkenisto@us.ibm.com, prasanna@in.ibm.com
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Align the start of the per-cpu section to the configured number of bytes in a
cache line. This stops a BUG_ON() from triggering in load_module() when
DEFINE_PER_CPU() is used in a module and the section isn't cacheline-aligned.
Rusty also found this and sent a patch in a while ago
(http://lkml.org/lkml/2004/10/19/17), I don't know what came of that.Signed-off-by: Zach Brown
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
[ AK: I redid Kevin's fix to be simpler, but the idea and original
analysis of the problem is from Kevin]This avoid allocation failures on some SATA systems like Nvidia CK8
when the IOMMU gets fragmented. Modern SATA devices have quite large queues
(128 entries) and the FS with ext2/3 is good enough now that it often
passes whole 128 page sg lists down to the driver. These require
512K of continuous free space in the IOMMU aperture to map when merged.
When the IOMMU is fragmented this could lead to spurious IO errors
due to failing mappings.Short term fix is to just try to map the SG list again unmerged
page by page - this way fragmentation doesn't matter anymore.
The code for that was already there, but it just wasn't enabled for the
merge case.According to Kevin at least the Nvidia device doesn't seem to benefit
from merging much anyways, so the only slowdown is from trying
to do an unnecessary merge attempt.Kevin plans to implement better fragmentation avoidance in the future,
but that wouldn't be 2.6.16 material.TBD: should add some statistic counters to count how often that really
happens.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
I broke this earlier when moving the patch from i386 to x86-64.
Need to return the virtual address here, not the physical address.
This fixes some boot time crashes on x86-64.Cc: gregkh@suse.de
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
- Check if the processor/memory affinity entries are long enough
according to the ACPI 3.0 spec.
- Ignore memory affinity entries that define a zero length region.All based on BIOS issues found in the field @)
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
attached patch is 2 more cases i found via running the reference_init.pl
script. These were easy to spot just knowing the file names. There is
one another about init/main.c that i cant exactly zero in. (partly
because i dont know how to interpret the data thats spewed out of the tool).Signed-off-by: Ashok Raj
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
SIgned-off-by: Shaohua Li
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Might fix boot failures on systems with empty PXMs in SRAT
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
> mm/mempolicy.c: In function `huge_zonelist':
> mm/mempolicy.c:1045: error: `HPAGE_SHIFT' undeclared (first use in this function)
> mm/mempolicy.c:1045: error: (Each undeclared identifier is reported only once
> mm/mempolicy.c:1045: error: for each function it appears in.)
> make[1]: *** [mm/mempolicy.o] Error 1Need to wrap huge_zonelist function with CONFIG_HUGETLBFS.
Signed-off-by: Ken Chen
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
It has been enabled by default for some time now and is cheap enough
so it doesn't matter anyways.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Currently, x86_64 and ia64 arches do not clear the corresponding bits
in the node's cpumask when a cpu goes down or cpu bring up is cancelled.
This is buggy since there are pieces of common code where the cpumask is
checked in the cpu down code path to decide on things (like in the slab
down path). PPC does the right thing, but x86_64 and ia64 don't (This
was the reason Sonny hit upon a slab bug during cpu offline on ppc and
could not reproduce on other arches). This patch fixes it for x86_64.
I won't attempt ia64 as I cannot test it.Credit for spotting this should go to Alok.
Signed-off-by: Alok N Kataria
Signed-off-by: Ravikiran Thirumalai
Signed-off-by: Shai Fultheim
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
They cause quite bad performance regressions on Netburst
This is temporary until we can get new optimized functions
for these CPUs.This undoes changes that were done in 2.6.15 and in 2.6.16-rc1,
essentially bringing the code back to 2.6.14 level. Only change
is I renamed the X86_FEATURE_K8_C flag to X86_FEATURE_REP_GOOD
and fixed the check for the flag and also fixed some comments.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
This avoids BUG_ONs in the low level allocator when an illegal
GFP mask is added.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
At resume time, TSC's value or something similar might be changed a lot
against suspend time. This could make system gets a very big lost ticks.
See http://bugzilla.kernel.org/show_bug.cgi?id=5825Signed-off-by: Shaohua Li
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
They all have problems with IRQ 0 routing, so just use the APIC on them.
Can be overwritten with "noapicmaintimer"
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Another piece from the no-idle-tick patch.
This can be enabled with the "apicmaintimer" option.
This is mainly useful when the PIT/HPET interrupt is unreliable.
Note there are some systems that are known to stop the APIC
timer in C3. For those it will never work, but this case
should be automatically detected.It also only works with PM timer right now. When HPET is used
the way the main timer handler computes the delay doesn't work.It should be a bit more efficient because there is one less
regular interrupt to process on the boot processor.Requires earlier bugfix from Venkatesh
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Bug in apic timer removal on C3 patch. We should switch to IPI from APIC timer
only when C3 state is valid.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Avoids some ifdef mess later.
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
A kprobe executes IRET early and that could cause NMI recursion
and stack corruption.Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds -
Signed-off-by: Andi Kleen
Signed-off-by: Linus Torvalds
04 Feb, 2006
17 commits
-
Remove private inode tests from security_inode_alloc and security_inode_free,
as we otherwise end up leaking inode security structures for private inodes.Signed-off-by: Stephen Smalley
Acked-by: James Morris
Signed-off-by: Linus Torvalds -
ARCH_CAMELOT (excalibur) got removed; remove it from the AT91 defconfigs
Signed-off-by: Russell King
-
Prevent SERIAL_8250_RUNTIME_UARTS being larger than SERIAL_8250_NR_UARTS.
Signed-off-by: Russell King
-
The mount path had incorrectly asked the locking code to wait for recovery
completion, which deadlocks things because recovery waits for mount to
complete first.Signed-off-by: Mark Fasheh
-
this changes if() BUG(); constructs to BUG_ON() which is
cleaner, contains unlikely() and can better optimized away.Signed-off-by: Eric Sesterhenn
Signed-off-by: Joel Becker
Signed-off-by: Mark Fasheh -
configfs always made item and attribute ownership root.root and
permissions based on a umask of 022. Add ->setattr() to allow
chown(2)/chmod(2), and persist the changes for the lifetime of the
items and attributes.Signed-off-by: Joel Becker
Signed-off-by: Mark Fasheh -
Signed-off-by: Joel Becker
Signed-off-by: Mark Fasheh -
Fix a couple of compile warnings found when compiling on a ppc64 build box.
Signed-off-by: Mark Fasheh
-
this changes if() BUG(); constructs to BUG_ON() which is
cleaner, contains unlikely() and can better optimized away.Signed-off-by: Eric Sesterhenn
Signed-off-by: Mark Fasheh -
fs/ocfs2/dlm/dlmrecovery.c does now use msleep(), and does therefore
need to #include for getting the prototype of this
function.Signed-off-by: Adrian Bunk
Signed-off-by: Mark Fasheh -
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.Signed-off-by: Arjan van de Ven
Signed-off-by: Ingo Molnar
Signed-off-by: Andrew Morton
Signed-off-by: Mark Fasheh -
* fix a hang which can occur during shutdown migration
* do not allow nodes to join during recovery
* when restarting lock mastery, do not ignore nodes which come up
* more than one node could become recovery master, fix this
* sleep to allow some time for heartbeat state to catch up to network
* extra debug info for bad recovery state problems
* make DLM_RECO_NODE_DATA_DONE a valid state for non-master recovery nodes
* prune all locks from dead nodes on $RECOVERY lock resources
* do NOT automatically add new nodes to mle nodemaps until they have properly
joined the domain
* make sure dlm_pick_recovery_master only exits when all nodes have synced
* properly handle dlmunlock errors in dlm_pick_recovery_master
* do not propagate network errors in dlm_send_begin_reco_message
* dead nodes were not being put in the recovery map sometimes, fix this
* dlmunlock was failing to clear the unlock actions on DLM_DENIEDSigned-off-by: Kurt Hackel
Signed-off-by: Mark Fasheh