Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 85950
b: refs/heads/master
c: 0e56853
h: refs/heads/master
v: v3
  • Loading branch information
Pavel Emelyanov authored and Ralf Baechle committed Feb 19, 2008
1 parent 2b33e5c commit bafbf45
Show file tree
Hide file tree
Showing 182 changed files with 2,682 additions and 3,602 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: 989b0b930218661b504bbb056b309e2c7bcdfb86
refs/heads/master: 0e568536d94256819f17662c26c82a42e44a7a7c
8 changes: 4 additions & 4 deletions trunk/Documentation/networking/tcp.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
TCP protocol
============

Last updated: 9 February 2008
Last updated: 21 June 2005

Contents
========
Expand Down Expand Up @@ -52,9 +52,9 @@ research and RFC's before developing new modules.
The method that is used to determine which congestion control mechanism is
determined by the setting of the sysctl net.ipv4.tcp_congestion_control.
The default congestion control will be the last one registered (LIFO);
so if you built everything as modules, the default will be reno. If you
build with the defaults from Kconfig, then CUBIC will be builtin (not a
module) and it will end up the default.
so if you built everything as modules. the default will be reno. If you
build with the default's from Kconfig, then BIC will be builtin (not a module)
and it will end up the default.

If you really want a particular default value then you will need
to set it with the sysctl. If you use a sysctl, the module will be autoloaded
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mips/kernel/mips-mt-fpaff.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ unsigned long mt_fpemul_threshold = 0;
*/
static inline struct task_struct *find_process_by_pid(pid_t pid)
{
return pid ? find_task_by_pid(pid) : current;
return pid ? find_task_by_vpid(pid) : current;
}


Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mips/kernel/sysirix.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ asmlinkage int irix_prctl(unsigned option, ...)
printk("irix_prctl[%s:%d]: Wants PR_ISBLOCKED\n",
current->comm, current->pid);
read_lock(&tasklist_lock);
task = find_task_by_pid(va_arg(args, pid_t));
task = find_task_by_vpid(va_arg(args, pid_t));
error = -ESRCH;
if (error)
error = (task->run_list.next != NULL);
Expand Down
33 changes: 9 additions & 24 deletions trunk/arch/mn10300/configs/asb2303_defconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.25-rc2
# Tue Feb 19 18:52:24 2008
# Linux kernel version: 2.6.24-rc2
# Fri Nov 16 13:36:38 2007
#
CONFIG_MN10300=y
CONFIG_AM33=y
Expand All @@ -21,7 +21,6 @@ CONFIG_ARCH_HAS_ILOG2_U32=y
# CONFIG_ARCH_SUPPORTS_AOUT is not set
CONFIG_GENERIC_HARDIRQS=y
# CONFIG_HOTPLUG_CPU is not set
CONFIG_HZ=1000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
Expand All @@ -39,16 +38,15 @@ CONFIG_SYSVIPC_SYSCTL=y
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
# CONFIG_USER_SCHED is not set
# CONFIG_CGROUP_SCHED is not set
# CONFIG_FAIR_GROUP_SCHED is not set
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
Expand All @@ -59,33 +57,22 @@ CONFIG_SYSCTL_SYSCALL=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
# CONFIG_VM_EVENT_COUNTERS is not set
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
# CONFIG_MARKERS is not set
CONFIG_OPROFILE=y
# CONFIG_HAVE_OPROFILE is not set
# CONFIG_HAVE_KPROBES is not set
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
# CONFIG_BLOCK is not set
CONFIG_CLASSIC_RCU=y
# CONFIG_PREEMPT_RCU is not set

#
# Matsushita MN10300 system setup
Expand Down Expand Up @@ -219,7 +206,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
Expand Down Expand Up @@ -325,8 +311,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_PARPORT is not set
CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HAVE_IDE is not set

#
# SCSI device support
Expand Down Expand Up @@ -361,6 +345,7 @@ CONFIG_SMC91X=y
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
Expand Down Expand Up @@ -420,7 +405,6 @@ CONFIG_RTC=y
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set
# CONFIG_THERMAL is not set
# CONFIG_WATCHDOG is not set

#
Expand Down Expand Up @@ -460,7 +444,6 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_SOUND is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_RTC_CLASS is not set

Expand All @@ -472,10 +455,10 @@ CONFIG_SSB_POSSIBLE=y
#
# File systems
#
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
Expand Down Expand Up @@ -571,3 +554,5 @@ CONFIG_HAS_DMA=y
#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
2 changes: 0 additions & 2 deletions trunk/arch/mn10300/kernel/gdb-io-ttysm.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
try_again:
/* pull chars out of the buffer */
ix = gdbstub_rx_outp;
barrier();
if (ix == gdbstub_rx_inp) {
if (nonblock)
return -EAGAIN;
Expand All @@ -208,7 +207,6 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)

ch = gdbstub_rx_buffer[ix++];
st = gdbstub_rx_buffer[ix++];
barrier();
gdbstub_rx_outp = ix & (PAGE_SIZE - 1);

st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF |
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/mn10300/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,11 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
/* advance the kernel's time tracking system */
profile_tick(CPU_PROFILING);
do_timer(1);
update_process_times(user_mode(get_irq_regs()));
check_rtc_time();
}

write_sequnlock(&xtime_lock);

update_process_times(user_mode(get_irq_regs()));

return IRQ_HANDLED;
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mn10300/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ static asmlinkage void unsupported_syscall(struct pt_regs *regs,
if (code == EXCEP_SYSCALL15 && !user_mode(regs)) {
if (report_bug(regs->pc, regs) == BUG_TRAP_TYPE_BUG) {
#ifdef CONFIG_GDBSTUB
gdbstub_intercept(regs, code);
__gdbstub_bug_trap();
#endif
}
}
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/s390/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,7 @@ config NR_CPUS
int "Maximum number of CPUs (2-64)"
range 2 64
depends on SMP
default "32" if !64BIT
default "64" if 64BIT
default "32"
help
This allows you to specify the maximum number of CPUs which this
kernel will support. The maximum supported value is 64 and the
Expand Down
15 changes: 6 additions & 9 deletions trunk/arch/s390/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -114,27 +114,24 @@ extern void s390_handle_mcck(void);
static void default_idle(void)
{
int cpu, rc;
int nr_calls = 0;
void *hcpu;
#ifdef CONFIG_SMP
struct s390_idle_data *idle;
#endif

/* CPU is going idle. */
cpu = smp_processor_id();
hcpu = (void *)(long)cpu;

local_irq_disable();
if (need_resched()) {
local_irq_enable();
return;
}

rc = __atomic_notifier_call_chain(&idle_chain, S390_CPU_IDLE, hcpu, -1,
&nr_calls);
if (rc == NOTIFY_BAD) {
nr_calls--;
__atomic_notifier_call_chain(&idle_chain, S390_CPU_NOT_IDLE,
hcpu, nr_calls, NULL);
rc = atomic_notifier_call_chain(&idle_chain,
S390_CPU_IDLE, (void *)(long) cpu);
if (rc != NOTIFY_OK && rc != NOTIFY_DONE)
BUG();
if (rc != NOTIFY_OK) {
local_irq_enable();
return;
}
Expand Down
53 changes: 15 additions & 38 deletions trunk/arch/s390/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -626,17 +626,13 @@ static int __cpuinit smp_alloc_lowcore(int cpu)
if (!lowcore)
return -ENOMEM;
async_stack = __get_free_pages(GFP_KERNEL, ASYNC_ORDER);
if (!async_stack)
goto out_async_stack;
panic_stack = __get_free_page(GFP_KERNEL);
if (!panic_stack || !async_stack)
goto out;
/*
* Only need to copy the first 512 bytes from address 0. But since
* the compiler emits a warning if src == NULL for memcpy use copy_page
* instead. Copies more than needed but this code is not performance
* critical.
*/
copy_page(lowcore, &S390_lowcore);
memset((void *)lowcore + 512, 0, sizeof(*lowcore) - 512);
if (!panic_stack)
goto out_panic_stack;

*lowcore = S390_lowcore;
lowcore->async_stack = async_stack + ASYNC_SIZE;
lowcore->panic_stack = panic_stack + PAGE_SIZE;

Expand All @@ -657,8 +653,9 @@ static int __cpuinit smp_alloc_lowcore(int cpu)
out_save_area:
free_page(panic_stack);
#endif
out:
out_panic_stack:
free_pages(async_stack, ASYNC_ORDER);
out_async_stack:
free_pages((unsigned long) lowcore, lc_order);
return -ENOMEM;
}
Expand Down Expand Up @@ -722,8 +719,8 @@ int __cpuinit __cpu_up(unsigned int cpu)
cpu_lowcore->percpu_offset = __per_cpu_offset[cpu];
cpu_lowcore->current_task = (unsigned long) idle;
cpu_lowcore->cpu_data.cpu_nr = cpu;
cpu_lowcore->kernel_asce = S390_lowcore.kernel_asce;
cpu_lowcore->ipl_device = S390_lowcore.ipl_device;
cpu_lowcore->softirq_pending = 0;
cpu_lowcore->ext_call_fast = 0;
eieio();

while (signal_processor(cpu, sigp_restart) == sigp_busy)
Expand Down Expand Up @@ -800,43 +797,23 @@ void cpu_die(void)

void __init smp_prepare_cpus(unsigned int max_cpus)
{
#ifndef CONFIG_64BIT
unsigned long save_area = 0;
#endif
unsigned long async_stack, panic_stack;
struct _lowcore *lowcore;
unsigned int cpu;
int lc_order;

smp_detect_cpus();

/* request the 0x1201 emergency signal external interrupt */
if (register_external_interrupt(0x1201, do_ext_call_interrupt) != 0)
panic("Couldn't request external interrupt 0x1201");
memset(lowcore_ptr, 0, sizeof(lowcore_ptr));
print_cpu_info(&S390_lowcore.cpu_data);
smp_alloc_lowcore(smp_processor_id());

/* Reallocate current lowcore, but keep its contents. */
lc_order = sizeof(long) == 8 ? 1 : 0;
lowcore = (void *) __get_free_pages(GFP_KERNEL | GFP_DMA, lc_order);
panic_stack = __get_free_page(GFP_KERNEL);
async_stack = __get_free_pages(GFP_KERNEL, ASYNC_ORDER);
#ifndef CONFIG_64BIT
if (MACHINE_HAS_IEEE)
save_area = get_zeroed_page(GFP_KERNEL);
#endif
local_irq_disable();
local_mcck_disable();
lowcore_ptr[smp_processor_id()] = lowcore;
*lowcore = S390_lowcore;
lowcore->panic_stack = panic_stack + PAGE_SIZE;
lowcore->async_stack = async_stack + ASYNC_SIZE;
#ifndef CONFIG_64BIT
if (MACHINE_HAS_IEEE)
lowcore->extended_save_area_addr = (u32) save_area;
ctl_set_bit(14, 29); /* enable extended save area */
#endif
set_prefix((u32)(unsigned long) lowcore);
local_mcck_enable();
local_irq_enable();
set_prefix((u32)(unsigned long) lowcore_ptr[smp_processor_id()]);

for_each_possible_cpu(cpu)
if (cpu != smp_processor_id())
smp_create_idle(cpu);
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/s390/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -744,6 +744,7 @@ static void etr_adjust_time(unsigned long long clock, unsigned long long delay)
}
}

#ifdef CONFIG_SMP
static void etr_sync_cpu_start(void *dummy)
{
int *in_sync = dummy;
Expand Down Expand Up @@ -776,6 +777,7 @@ static void etr_sync_cpu_start(void *dummy)
static void etr_sync_cpu_end(void *dummy)
{
}
#endif /* CONFIG_SMP */

/*
* Sync the TOD clock using the port refered to by aibp. This port
Expand Down
8 changes: 4 additions & 4 deletions trunk/arch/s390/lib/uaccess_std.c
Original file line number Diff line number Diff line change
Expand Up @@ -293,10 +293,10 @@ int futex_atomic_cmpxchg_std(int __user *uaddr, int oldval, int newval)

asm volatile(
" sacf 256\n"
"0: cs %1,%4,0(%5)\n"
"1: lr %0,%1\n"
"2: sacf 0\n"
EX_TABLE(0b,2b) EX_TABLE(1b,2b)
" cs %1,%4,0(%5)\n"
"0: lr %0,%1\n"
"1: sacf 0\n"
EX_TABLE(0b,1b)
: "=d" (ret), "+d" (oldval), "=m" (*uaddr)
: "0" (-EFAULT), "d" (newval), "a" (uaddr), "m" (*uaddr)
: "cc", "memory" );
Expand Down
Loading

0 comments on commit bafbf45

Please sign in to comment.