Skip to content

Commit

Permalink
Merge branch 'master'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeff Garzik committed Apr 20, 2006
2 parents 4741c33 + 402a26f commit 857c68f
Show file tree
Hide file tree
Showing 374 changed files with 9,275 additions and 5,329 deletions.
22 changes: 22 additions & 0 deletions Documentation/block/switching-sched.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
As of the Linux 2.6.10 kernel, it is now possible to change the
IO scheduler for a given block device on the fly (thus making it possible,
for instance, to set the CFQ scheduler for the system default, but
set a specific device to use the anticipatory or noop schedulers - which
can improve that device's throughput).

To set a specific scheduler, simply do this:

echo SCHEDNAME > /sys/block/DEV/queue/scheduler

where SCHEDNAME is the name of a defined IO scheduler, and DEV is the
device name (hda, hdb, sga, or whatever you happen to have).

The list of defined schedulers can be found by simply doing
a "cat /sys/block/DEV/queue/scheduler" - the list of valid names
will be displayed, with the currently selected scheduler in brackets:

# cat /sys/block/hda/queue/scheduler
noop anticipatory deadline [cfq]
# echo anticipatory > /sys/block/hda/queue/scheduler
# cat /sys/block/hda/queue/scheduler
noop [anticipatory] deadline cfq
2 changes: 1 addition & 1 deletion Documentation/cpu-freq/index.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ the CPUFreq Mailing list:
* http://lists.linux.org.uk/mailman/listinfo/cpufreq

Clock and voltage scaling for the SA-1100:
* http://www.lart.tudelft.nl/projects/scaling
* http://www.lartmaker.nl/projects/scaling
5 changes: 3 additions & 2 deletions Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ Who: Adrian Bunk <bunk@stusta.de>

---------------------------

What: drivers depending on OBSOLETE_OSS_DRIVER
When: January 2006
What: drivers that were depending on OBSOLETE_OSS_DRIVER
(config options already removed)
When: before 2.6.19
Why: OSS drivers with ALSA replacements
Who: Adrian Bunk <bunk@stusta.de>

Expand Down
11 changes: 10 additions & 1 deletion Documentation/vm/hugetlbpage.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,16 @@ The output of "cat /proc/meminfo" will have lines like:
.....
HugePages_Total: xxx
HugePages_Free: yyy
Hugepagesize: zzz KB
HugePages_Rsvd: www
Hugepagesize: zzz kB

where:
HugePages_Total is the size of the pool of hugepages.
HugePages_Free is the number of hugepages in the pool that are not yet
allocated.
HugePages_Rsvd is short for "reserved," and is the number of hugepages
for which a commitment to allocate from the pool has been made, but no
allocation has yet been made. It's vaguely analogous to overcommit.

/proc/filesystems should also show a filesystem of type "hugetlbfs" configured
in the kernel.
Expand Down
10 changes: 10 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ AX.25 NETWORK LAYER
P: Ralf Baechle
M: ralf@linux-mips.org
L: linux-hams@vger.kernel.org
W: http://www.linux-ax25.org/
S: Maintained

BAYCOM/HDLCDRV DRIVERS FOR AX.25
Expand Down Expand Up @@ -1457,6 +1458,13 @@ M: support@pathscale.com
L: openib-general@openib.org
S: Supported

IPMI SUBSYSTEM
P: Corey Minyard
M: minyard@acm.org
L: openipmi-developer@lists.sourceforge.net
W: http://openipmi.sourceforge.net/
S: Supported

IPX NETWORK LAYER
P: Arnaldo Carvalho de Melo
M: acme@conectiva.com.br
Expand Down Expand Up @@ -1869,6 +1877,7 @@ NETROM NETWORK LAYER
P: Ralf Baechle
M: ralf@linux-mips.org
L: linux-hams@vger.kernel.org
W: http://www.linux-ax25.org/
S: Maintained

NETWORK BLOCK DEVICE
Expand Down Expand Up @@ -2260,6 +2269,7 @@ ROSE NETWORK LAYER
P: Ralf Baechle
M: ralf@linux-mips.org
L: linux-hams@vger.kernel.org
W: http://www.linux-ax25.org/
S: Maintained

RISCOM8 DRIVER
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 17
EXTRAVERSION =-rc1
EXTRAVERSION =-rc2
NAME=Sliding Snow Leopard

# *DOCUMENTATION*
Expand Down
23 changes: 22 additions & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,31 @@ CONFIGURING the kernel:
"make xconfig" X windows (Qt) based configuration tool.
"make gconfig" X windows (Gtk) based configuration tool.
"make oldconfig" Default all questions based on the contents of
your existing ./.config file.
your existing ./.config file and asking about
new config symbols.
"make silentoldconfig"
Like above, but avoids cluttering the screen
with questions already answered.
"make defconfig" Create a ./.config file by using the default
symbol values from arch/$ARCH/defconfig.
"make allyesconfig"
Create a ./.config file by setting symbol
values to 'y' as much as possible.
"make allmodconfig"
Create a ./.config file by setting symbol
values to 'm' as much as possible.
"make allnoconfig" Create a ./.config file by setting symbol
values to 'n' as much as possible.
"make randconfig" Create a ./.config file by setting symbol
values to random values.

The allyesconfig/allmodconfig/allnoconfig/randconfig variants can
also use the environment variable KCONFIG_ALLCONFIG to specify a
filename that contains config options that the user requires to be
set to a specific value. If KCONFIG_ALLCONFIG=filename is not used,
"make *config" checks for a file named "all{yes/mod/no/random}.config"
for symbol values that are to be forced. If this file is not found,
it checks for a file named "all.config" to contain forced values.

NOTES on "make config":
- having unnecessary drivers will make the kernel bigger, and can
Expand Down
12 changes: 12 additions & 0 deletions arch/arm/common/scoop.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,18 @@
#include <asm/io.h>
#include <asm/hardware/scoop.h>

/* PCMCIA to Scoop linkage
There is no easy way to link multiple scoop devices into one
single entity for the pxa2xx_pcmcia device so this structure
is used which is setup by the platform code.
This file is never modular so this symbol is always
accessile to the board support files.
*/
struct scoop_pcmcia_config *platform_scoop_config;
EXPORT_SYMBOL(platform_scoop_config);

#define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr)))

struct scoop_dev {
Expand Down
9 changes: 3 additions & 6 deletions arch/arm/mach-pxa/corgi_ssp.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,9 @@ static int __init corgi_ssp_probe(struct platform_device *dev)
int ret;

/* Chip Select - Disable All */
GPDR(ssp_machinfo->cs_lcdcon) |= GPIO_bit(ssp_machinfo->cs_lcdcon); /* output */
GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon); /* High - Disable LCD Control/Timing Gen */
GPDR(ssp_machinfo->cs_max1111) |= GPIO_bit(ssp_machinfo->cs_max1111); /* output */
GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111); /* High - Disable MAX1111*/
GPDR(ssp_machinfo->cs_ads7846) |= GPIO_bit(ssp_machinfo->cs_ads7846); /* output */
GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846); /* High - Disable ADS7846*/
pxa_gpio_mode(ssp_machinfo->cs_lcdcon | GPIO_OUT | GPIO_DFLT_HIGH);
pxa_gpio_mode(ssp_machinfo->cs_max1111 | GPIO_OUT | GPIO_DFLT_HIGH);
pxa_gpio_mode(ssp_machinfo->cs_ads7846 | GPIO_OUT | GPIO_DFLT_HIGH);

ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0);

Expand Down
9 changes: 9 additions & 0 deletions arch/i386/Kconfig.debug
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,13 @@ config X86_MPPARSE
depends on X86_LOCAL_APIC && !X86_VISWS
default y

config DOUBLEFAULT
default y
bool "Enable doublefault exception handler" if EMBEDDED
help
This option allows trapping of rare doublefault exceptions that
would otherwise cause a system to silently reboot. Disabling this
option saves about 4k and might cause you much additional grey
hair.

endmenu
5 changes: 4 additions & 1 deletion arch/i386/kernel/acpi/boot.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size)
unsigned long i;
int config_size;

if (!phys_addr || !size || !cpu_has_apic)
if (!phys_addr || !size)
return -EINVAL;

mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size);
Expand Down Expand Up @@ -1102,6 +1102,9 @@ int __init acpi_boot_table_init(void)
dmi_check_system(acpi_dmi_table);
#endif

if (!cpu_has_apic)
return -ENODEV;

/*
* If acpi_disabled, bail out
* One exception: acpi=ht continues far enough to enumerate LAPICs
Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/apm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1079,7 +1079,7 @@ static int apm_console_blank(int blank)
break;
}

if (error == APM_NOT_ENGAGED && state != APM_STATE_READY) {
if (error == APM_NOT_ENGAGED) {
static int tried;
int eng_error;
if (tried++ == 0) {
Expand Down
2 changes: 2 additions & 0 deletions arch/i386/kernel/cpu/amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,8 @@ static void __init init_amd(struct cpuinfo_x86 *c)
set_bit(X86_FEATURE_K7, c->x86_capability);
break;
}
if (c->x86 >= 6)
set_bit(X86_FEATURE_FXSAVE_LEAK, c->x86_capability);

display_cacheinfo(c);

Expand Down
10 changes: 5 additions & 5 deletions arch/i386/kernel/cpu/cpufreq/powernow-k8.c
Original file line number Diff line number Diff line change
Expand Up @@ -905,14 +905,17 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi
{
cpumask_t oldmask = CPU_MASK_ALL;
struct powernow_k8_data *data = powernow_data[pol->cpu];
u32 checkfid = data->currfid;
u32 checkvid = data->currvid;
u32 checkfid;
u32 checkvid;
unsigned int newstate;
int ret = -EIO;

if (!data)
return -EINVAL;

checkfid = data->currfid;
checkvid = data->currvid;

/* only run on specific CPU from here on */
oldmask = current->cpus_allowed;
set_cpus_allowed(current, cpumask_of_cpu(pol->cpu));
Expand Down Expand Up @@ -1106,9 +1109,6 @@ static unsigned int powernowk8_get (unsigned int cpu)

data = powernow_data[first_cpu(cpu_core_map[cpu])];

if (!data)
return -EINVAL;

if (!data)
return -EINVAL;

Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/cpuid.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ static int cpuid_class_device_create(int i)
return err;
}

static int __devinit cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
static int cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
{
unsigned int cpu = (unsigned long)hcpu;

Expand Down
18 changes: 9 additions & 9 deletions arch/i386/kernel/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL;
DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);

/* insert a jmp code */
static inline void set_jmp_op(void *from, void *to)
static __always_inline void set_jmp_op(void *from, void *to)
{
struct __arch_jmp_op {
char op;
Expand All @@ -57,7 +57,7 @@ static inline void set_jmp_op(void *from, void *to)
/*
* returns non-zero if opcodes can be boosted.
*/
static inline int can_boost(kprobe_opcode_t opcode)
static __always_inline int can_boost(kprobe_opcode_t opcode)
{
switch (opcode & 0xf0 ) {
case 0x70:
Expand Down Expand Up @@ -88,7 +88,7 @@ static inline int can_boost(kprobe_opcode_t opcode)
/*
* returns non-zero if opcode modifies the interrupt flag.
*/
static inline int is_IF_modifier(kprobe_opcode_t opcode)
static int __kprobes is_IF_modifier(kprobe_opcode_t opcode)
{
switch (opcode) {
case 0xfa: /* cli */
Expand Down Expand Up @@ -138,23 +138,23 @@ void __kprobes arch_remove_kprobe(struct kprobe *p)
mutex_unlock(&kprobe_mutex);
}

static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb)
static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb)
{
kcb->prev_kprobe.kp = kprobe_running();
kcb->prev_kprobe.status = kcb->kprobe_status;
kcb->prev_kprobe.old_eflags = kcb->kprobe_old_eflags;
kcb->prev_kprobe.saved_eflags = kcb->kprobe_saved_eflags;
}

static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb)
static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb)
{
__get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp;
kcb->kprobe_status = kcb->prev_kprobe.status;
kcb->kprobe_old_eflags = kcb->prev_kprobe.old_eflags;
kcb->kprobe_saved_eflags = kcb->prev_kprobe.saved_eflags;
}

static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs,
static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs,
struct kprobe_ctlblk *kcb)
{
__get_cpu_var(current_kprobe) = p;
Expand All @@ -164,7 +164,7 @@ static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs,
kcb->kprobe_saved_eflags &= ~IF_MASK;
}

static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs)
{
regs->eflags |= TF_MASK;
regs->eflags &= ~IF_MASK;
Expand Down Expand Up @@ -507,7 +507,7 @@ static void __kprobes resume_execution(struct kprobe *p,
* Interrupts are disabled on entry as trap1 is an interrupt gate and they
* remain disabled thoroughout this function.
*/
static inline int post_kprobe_handler(struct pt_regs *regs)
static int __kprobes post_kprobe_handler(struct pt_regs *regs)
{
struct kprobe *cur = kprobe_running();
struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
Expand Down Expand Up @@ -543,7 +543,7 @@ static inline int post_kprobe_handler(struct pt_regs *regs)
return 1;
}

static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr)
static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr)
{
struct kprobe *cur = kprobe_running();
struct kprobe_ctlblk *kcb = get_kprobe_ctlblk();
Expand Down
2 changes: 1 addition & 1 deletion arch/i386/kernel/msr.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ static int msr_class_device_create(int i)
return err;
}

static int __devinit msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
static int msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
{
unsigned int cpu = (unsigned long)hcpu;

Expand Down
1 change: 0 additions & 1 deletion arch/i386/mach-voyager/voyager_cat.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ static struct resource qic_res = {
* It writes num_bits of the data buffer in msg starting at start_bit.
* Note: This function assumes that any unused bit in the data stream
* is set to zero so that the ors will work correctly */
#define BITS_PER_BYTE 8
static void
cat_pack(__u8 *msg, const __u16 start_bit, __u8 *data, const __u16 num_bits)
{
Expand Down
Loading

0 comments on commit 857c68f

Please sign in to comment.