Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 107125
b: refs/heads/master
c: a4319d9
h: refs/heads/master
i:
  107123: d180a0c
v: v3
  • Loading branch information
Linus Torvalds committed Jul 30, 2008
1 parent 7349bdd commit fc57eeb
Show file tree
Hide file tree
Showing 78 changed files with 11,580 additions and 4,430 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 031cf19e6f63941506c9baf76ac7adac06edcf08
refs/heads/master: a4319d9fa02fb3f032596d18c6fcc8b05d01a3a5
4 changes: 3 additions & 1 deletion trunk/arch/ia64/mm/hugetlbpage.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#include <linux/mm.h>
#include <linux/hugetlb.h>
#include <linux/pagemap.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/sysctl.h>
#include <linux/log2.h>
Expand All @@ -21,7 +22,8 @@
#include <asm/tlb.h>
#include <asm/tlbflush.h>

unsigned int hpage_shift=HPAGE_SHIFT_DEFAULT;
unsigned int hpage_shift = HPAGE_SHIFT_DEFAULT;
EXPORT_SYMBOL(hpage_shift);

pte_t *
huge_pte_alloc(struct mm_struct *mm, unsigned long addr, unsigned long sz)
Expand Down
6 changes: 6 additions & 0 deletions trunk/arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ static int pmi_notifier(struct notifier_block *nb,
struct cpufreq_frequency_table *cbe_freqs;
u8 node;

/* Should this really be called for CPUFREQ_ADJUST, CPUFREQ_INCOMPATIBLE
* and CPUFREQ_NOTIFY policy events?)
*/
if (event == CPUFREQ_START)
return 0;

cbe_freqs = cpufreq_frequency_get_table(policy->cpu);
node = cbe_cpu_to_node(policy->cpu);

Expand Down
14 changes: 1 addition & 13 deletions trunk/arch/um/drivers/line.c
Original file line number Diff line number Diff line change
Expand Up @@ -362,19 +362,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
if (tty == NULL)
return IRQ_NONE;

if (test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) &&
(tty->ldisc.write_wakeup != NULL))
(tty->ldisc.write_wakeup)(tty);

/*
* BLOCKING mode
* In blocking mode, everything sleeps on tty->write_wait.
* Sleeping in the console driver would break non-blocking
* writes.
*/

if (waitqueue_active(&tty->write_wait))
wake_up_interruptible(&tty->write_wait);
tty_wakeup(tty);
return IRQ_HANDLED;
}

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/x86/kernel/genapic_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,4 @@ int is_uv_system(void)
{
return uv_system_type != UV_NONE;
}
EXPORT_SYMBOL_GPL(is_uv_system);
2 changes: 1 addition & 1 deletion trunk/arch/x86/lib/copy_user_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
jnz 100b
102:
.section .fixup,"ax"
103: addl %r8d,%edx /* ecx is zerorest also */
103: addl %ecx,%edx /* ecx is zerorest also */
jmp copy_user_handle_tail
.previous

Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/x86/lib/copy_user_nocache_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
jnz 100b
102:
.section .fixup,"ax"
103: addl %r8d,%edx /* ecx is zerorest also */
103: addl %ecx,%edx /* ecx is zerorest also */
jmp copy_user_handle_tail
.previous

Expand Down Expand Up @@ -108,7 +108,6 @@ ENTRY(__copy_user_nocache)
jmp 60f
50: movl %ecx,%edx
60: sfence
movl %r8d,%ecx
jmp copy_user_handle_tail
.previous

Expand Down
21 changes: 16 additions & 5 deletions trunk/drivers/acpi/processor_perflib.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,15 +64,21 @@ static DEFINE_MUTEX(performance_mutex);
* policy is adjusted accordingly.
*/

static unsigned int ignore_ppc = 0;
/* ignore_ppc:
* -1 -> cpufreq low level drivers not initialized -> _PSS, etc. not called yet
* ignore _PPC
* 0 -> cpufreq low level drivers initialized -> consider _PPC values
* 1 -> ignore _PPC totally -> forced by user through boot param
*/
static unsigned int ignore_ppc = -1;
module_param(ignore_ppc, uint, 0644);
MODULE_PARM_DESC(ignore_ppc, "If the frequency of your machine gets wrongly" \
"limited by BIOS, this should help");

#define PPC_REGISTERED 1
#define PPC_IN_USE 2

static int acpi_processor_ppc_status = 0;
static int acpi_processor_ppc_status;

static int acpi_processor_ppc_notifier(struct notifier_block *nb,
unsigned long event, void *data)
Expand All @@ -81,13 +87,18 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
struct acpi_processor *pr;
unsigned int ppc = 0;

if (ignore_ppc)
if (event == CPUFREQ_START && ignore_ppc <= 0) {
ignore_ppc = 0;
return 0;
}

mutex_lock(&performance_mutex);
if (ignore_ppc)
return 0;

if (event != CPUFREQ_INCOMPATIBLE)
goto out;
return 0;

mutex_lock(&performance_mutex);

pr = per_cpu(processors, policy->cpu);
if (!pr || !pr->performance)
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/char/mxser.c
Original file line number Diff line number Diff line change
Expand Up @@ -1612,8 +1612,10 @@ static int mxser_ioctl_special(unsigned int cmd, void __user *argp)

switch (cmd) {
case MOXA_GET_MAJOR:
printk(KERN_WARNING "mxser: '%s' uses deprecated ioctl %x, fix "
"your userspace\n", current->comm, cmd);
if (printk_ratelimit())
printk(KERN_WARNING "mxser: '%s' uses deprecated ioctl "
"%x (GET_MAJOR), fix your userspace\n",
current->comm, cmd);
return put_user(ttymajor, (int __user *)argp);

case MOXA_CHKPORTENABLE:
Expand Down
3 changes: 3 additions & 0 deletions trunk/drivers/cpufreq/cpufreq.c
Original file line number Diff line number Diff line change
Expand Up @@ -825,6 +825,9 @@ static int cpufreq_add_dev(struct sys_device *sys_dev)
policy->user_policy.min = policy->cpuinfo.min_freq;
policy->user_policy.max = policy->cpuinfo.max_freq;

blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
CPUFREQ_START, policy);

#ifdef CONFIG_SMP

#ifdef CONFIG_HOTPLUG_CPU
Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/firmware/iscsi_ibft_find.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,3 @@ void __init reserve_ibft_region(void)
if (ibft_addr)
reserve_bootmem(pos, PAGE_ALIGN(len), BOOTMEM_DEFAULT);
}
EXPORT_SYMBOL_GPL(reserve_ibft_region);
25 changes: 24 additions & 1 deletion trunk/drivers/misc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ config ENCLOSURE_SERVICES

config SGI_XP
tristate "Support communication between SGI SSIs"
depends on IA64_GENERIC || IA64_SGI_SN2
depends on IA64_GENERIC || IA64_SGI_SN2 || IA64_SGI_UV || (X86_64 && SMP)
select IA64_UNCACHED_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
select GENERIC_ALLOCATOR if IA64_GENERIC || IA64_SGI_SN2
---help---
Expand All @@ -450,4 +450,27 @@ config HP_ILO
To compile this driver as a module, choose M here: the
module will be called hpilo.

config SGI_GRU
tristate "SGI GRU driver"
depends on (X86_64 || IA64_SGI_UV || IA64_GENERIC) && SMP
default n
select MMU_NOTIFIER
---help---
The GRU is a hardware resource located in the system chipset. The GRU
contains memory that can be mmapped into the user address space. This memory is
used to communicate with the GRU to perform functions such as load/store,
scatter/gather, bcopy, AMOs, etc. The GRU is directly accessed by user
instructions using user virtual addresses. GRU instructions (ex., bcopy) use
user virtual addresses for operands.

If you are not running on a SGI UV system, say N.

config SGI_GRU_DEBUG
bool "SGI GRU driver debug"
depends on SGI_GRU
default n
---help---
This option enables addition debugging code for the SGI GRU driver. If
you are unsure, say N.

endif # MISC_DEVICES
1 change: 1 addition & 0 deletions trunk/drivers/misc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o
obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
obj-$(CONFIG_KGDB_TESTS) += kgdbts.o
obj-$(CONFIG_SGI_XP) += sgi-xp/
obj-$(CONFIG_SGI_GRU) += sgi-gru/
obj-$(CONFIG_HP_ILO) += hpilo.o
3 changes: 3 additions & 0 deletions trunk/drivers/misc/sgi-gru/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
obj-$(CONFIG_SGI_GRU) := gru.o
gru-y := grufile.o grumain.o grufault.o grutlbpurge.o gruprocfs.o grukservices.o

67 changes: 67 additions & 0 deletions trunk/drivers/misc/sgi-gru/gru.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/*
* Copyright (c) 2008 Silicon Graphics, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

#ifndef __GRU_H__
#define __GRU_H__

/*
* GRU architectural definitions
*/
#define GRU_CACHE_LINE_BYTES 64
#define GRU_HANDLE_STRIDE 256
#define GRU_CB_BASE 0
#define GRU_DS_BASE 0x20000

/*
* Size used to map GRU GSeg
*/
#if defined CONFIG_IA64
#define GRU_GSEG_PAGESIZE (256 * 1024UL)
#elif defined CONFIG_X86_64
#define GRU_GSEG_PAGESIZE (256 * 1024UL) /* ZZZ 2MB ??? */
#else
#error "Unsupported architecture"
#endif

/*
* Structure for obtaining GRU resource information
*/
struct gru_chiplet_info {
int node;
int chiplet;
int blade;
int total_dsr_bytes;
int total_cbr;
int total_user_dsr_bytes;
int total_user_cbr;
int free_user_dsr_bytes;
int free_user_cbr;
};

/* Flags for GRU options on the gru_create_context() call */
/* Select one of the follow 4 options to specify how TLB misses are handled */
#define GRU_OPT_MISS_DEFAULT 0x0000 /* Use default mode */
#define GRU_OPT_MISS_USER_POLL 0x0001 /* User will poll CB for faults */
#define GRU_OPT_MISS_FMM_INTR 0x0002 /* Send interrupt to cpu to
handle fault */
#define GRU_OPT_MISS_FMM_POLL 0x0003 /* Use system polling thread */
#define GRU_OPT_MISS_MASK 0x0003 /* Mask for TLB MISS option */



#endif /* __GRU_H__ */
Loading

0 comments on commit fc57eeb

Please sign in to comment.