Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 154714
b: refs/heads/master
c: 544ae5f
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Jul 1, 2009
1 parent 04bde68 commit d11e413
Show file tree
Hide file tree
Showing 140 changed files with 2,531 additions and 899 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: e62e58a5ffdc98ac28d8dbd070c857620d541f99
refs/heads/master: 544ae5f96e14998cabc637fa20cf409eb92a0dd0
12 changes: 12 additions & 0 deletions trunk/Documentation/cgroups/cpusets.txt
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,18 @@ in cpuset directories:
# /bin/echo 1-4 > cpus -> set cpus list to cpus 1,2,3,4
# /bin/echo 1,2,3,4 > cpus -> set cpus list to cpus 1,2,3,4

To add a CPU to a cpuset, write the new list of CPUs including the
CPU to be added. To add 6 to the above cpuset:

# /bin/echo 1-4,6 > cpus -> set cpus list to cpus 1,2,3,4,6

Similarly to remove a CPU from a cpuset, write the new list of CPUs
without the CPU to be removed.

To remove all the CPUs:

# /bin/echo "" > cpus -> clear cpus list

2.3 Setting flags
-----------------

Expand Down
25 changes: 16 additions & 9 deletions trunk/Documentation/gcov.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,18 @@ Solution: Exclude affected source files from profiling by specifying
GCOV_PROFILE := n or GCOV_PROFILE_basename.o := n in the
corresponding Makefile.

Problem: Files copied from sysfs appear empty or incomplete.
Cause: Due to the way seq_file works, some tools such as cp or tar
may not correctly copy files from sysfs.
Solution: Use 'cat' to read .gcda files and 'cp -d' to copy links.
Alternatively use the mechanism shown in Appendix B.


Appendix A: gather_on_build.sh
==============================

Sample script to gather coverage meta files on the build machine
(see 6a):

#!/bin/bash

KSRC=$1
Expand Down Expand Up @@ -226,7 +231,7 @@ Appendix B: gather_on_test.sh
Sample script to gather coverage data files on the test machine
(see 6b):

#!/bin/bash
#!/bin/bash -e

DEST=$1
GCDA=/sys/kernel/debug/gcov
Expand All @@ -236,11 +241,13 @@ if [ -z "$DEST" ] ; then
exit 1
fi

find $GCDA -name '*.gcno' -o -name '*.gcda' | tar cfz $DEST -T -
TEMPDIR=$(mktemp -d)
echo Collecting data..
find $GCDA -type d -exec mkdir -p $TEMPDIR/\{\} \;
find $GCDA -name '*.gcda' -exec sh -c 'cat < $0 > '$TEMPDIR'/$0' {} \;
find $GCDA -name '*.gcno' -exec sh -c 'cp -d $0 '$TEMPDIR'/$0' {} \;
tar czf $DEST -C $TEMPDIR sys
rm -rf $TEMPDIR

if [ $? -eq 0 ] ; then
echo "$DEST successfully created, copy to build system and unpack with:"
echo " tar xfz $DEST"
else
echo "Could not create file $DEST"
fi
echo "$DEST successfully created, copy to build system and unpack with:"
echo " tar xfz $DEST"
23 changes: 16 additions & 7 deletions trunk/Documentation/kmemleak.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,17 @@ Usage
-----

CONFIG_DEBUG_KMEMLEAK in "Kernel hacking" has to be enabled. A kernel
thread scans the memory every 10 minutes (by default) and prints any new
unreferenced objects found. To trigger an intermediate scan and display
all the possible memory leaks:
thread scans the memory every 10 minutes (by default) and prints the
number of new unreferenced objects found. To display the details of all
the possible memory leaks:

# mount -t debugfs nodev /sys/kernel/debug/
# cat /sys/kernel/debug/kmemleak

To trigger an intermediate memory scan:

# echo scan > /sys/kernel/debug/kmemleak

Note that the orphan objects are listed in the order they were allocated
and one object at the beginning of the list may cause other subsequent
objects to be reported as orphan.
Expand All @@ -31,16 +35,21 @@ Memory scanning parameters can be modified at run-time by writing to the
/sys/kernel/debug/kmemleak file. The following parameters are supported:

off - disable kmemleak (irreversible)
stack=on - enable the task stacks scanning
stack=on - enable the task stacks scanning (default)
stack=off - disable the tasks stacks scanning
scan=on - start the automatic memory scanning thread
scan=on - start the automatic memory scanning thread (default)
scan=off - stop the automatic memory scanning thread
scan=<secs> - set the automatic memory scanning period in seconds (0
to disable it)
scan=<secs> - set the automatic memory scanning period in seconds
(default 600, 0 to stop the automatic scanning)
scan - trigger a memory scan

Kmemleak can also be disabled at boot-time by passing "kmemleak=off" on
the kernel command line.

Memory may be allocated or freed before kmemleak is initialised and
these actions are stored in an early log buffer. The size of this buffer
is configured via the CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE option.

Basic Algorithm
---------------

Expand Down
10 changes: 9 additions & 1 deletion trunk/Documentation/spi/spidev_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,13 @@ void parse_opts(int argc, char *argv[])
{ "lsb", 0, 0, 'L' },
{ "cs-high", 0, 0, 'C' },
{ "3wire", 0, 0, '3' },
{ "no-cs", 0, 0, 'N' },
{ "ready", 0, 0, 'R' },
{ NULL, 0, 0, 0 },
};
int c;

c = getopt_long(argc, argv, "D:s:d:b:lHOLC3", lopts, NULL);
c = getopt_long(argc, argv, "D:s:d:b:lHOLC3NR", lopts, NULL);

if (c == -1)
break;
Expand Down Expand Up @@ -139,6 +141,12 @@ void parse_opts(int argc, char *argv[])
case '3':
mode |= SPI_3WIRE;
break;
case 'N':
mode |= SPI_NO_CS;
break;
case 'R':
mode |= SPI_READY;
break;
default:
print_usage(argv[0]);
break;
Expand Down
12 changes: 7 additions & 5 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2130,9 +2130,9 @@ F: drivers/edac/i5400_edac.c

EDAC-I82975X
P: Ranganathan Desikan
M: rdesikan@jetzbroadband.com
M: ravi@jetztechnologies.com
P: Arvind R.
M: arvind@acarlab.com
M: arvind@jetztechnologies.com
L: bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
W: bluesmoke.sourceforge.net
S: Maintained
Expand Down Expand Up @@ -2851,7 +2851,9 @@ S: Maintained

IA64 (Itanium) PLATFORM
P: Tony Luck
P: Fenghua Yu
M: tony.luck@intel.com
M: fenghua.yu@intel.com
L: linux-ia64@vger.kernel.org
W: http://www.ia64-linux.org/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
Expand Down Expand Up @@ -2929,7 +2931,7 @@ P: Dmitry Eremin-Solenikov
M: dbaryshkov@gmail.com
P: Sergey Lapin
M: slapin@ossfans.org
L: linux-zigbee-devel@lists.sourceforge.net
L: linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
W: http://apps.sourceforge.net/trac/linux-zigbee
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
S: Maintained
Expand Down Expand Up @@ -5576,8 +5578,8 @@ F: drivers/staging/

STARFIRE/DURALAN NETWORK DRIVER
P: Ion Badulescu
M: ionut@cs.columbia.edu
S: Maintained
M: ionut@badula.org
S: Odd Fixes
F: drivers/net/starfire*

STARMODE RADIO IP (STRIP) PROTOCOL DRIVER
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/alpha/include/asm/percpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ extern unsigned long __per_cpu_offset[NR_CPUS];

#ifndef MODULE
#define SHIFT_PERCPU_PTR(var, offset) RELOC_HIDE(&per_cpu_var(var), (offset))
#define PER_CPU_ATTRIBUTES
#define PER_CPU_DEF_ATTRIBUTES
#else
/*
* To calculate addresses of locally defined variables, GCC uses 32-bit
Expand All @@ -49,7 +49,7 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
: "=&r"(__ptr), "=&r"(tmp_gp)); \
(typeof(&per_cpu_var(var)))(__ptr + (offset)); })

#define PER_CPU_ATTRIBUTES __used
#define PER_CPU_DEF_ATTRIBUTES __used

#endif /* MODULE */

Expand All @@ -71,7 +71,7 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
#define __get_cpu_var(var) per_cpu_var(var)
#define __raw_get_cpu_var(var) per_cpu_var(var)

#define PER_CPU_ATTRIBUTES
#define PER_CPU_DEF_ATTRIBUTES

#endif /* SMP */

Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/frv/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -341,10 +341,12 @@
#define __NR_inotify_init1 332
#define __NR_preadv 333
#define __NR_pwritev 334
#define __NR_rt_tgsigqueueinfo 335
#define __NR_perf_counter_open 336

#ifdef __KERNEL__

#define NR_syscalls 335
#define NR_syscalls 337

#define __ARCH_WANT_IPC_PARSE_VERSION
/* #define __ARCH_WANT_OLD_READDIR */
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/frv/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -1524,5 +1524,7 @@ sys_call_table:
.long sys_inotify_init1
.long sys_preadv
.long sys_pwritev
.long sys_rt_tgsigqueueinfo /* 335 */
.long sys_perf_counter_open

syscall_table_size = (. - sys_call_table)
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kernel/esi.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ static int __init esi_init (void)
}

if (!esi)
return -ENODEV;;
return -ENODEV;

systab = __va(esi);

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kernel/perfmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -5603,7 +5603,7 @@ pfm_interrupt_handler(int irq, void *arg)
* /proc/perfmon interface, for debug only
*/

#define PFM_PROC_SHOW_HEADER ((void *)nr_cpu_ids+1)
#define PFM_PROC_SHOW_HEADER ((void *)(long)nr_cpu_ids+1)

static void *
pfm_proc_start(struct seq_file *m, loff_t *pos)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kernel/salinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ struct salinfo_platform_oemdata_parms {
static void
salinfo_work_to_do(struct salinfo_data *data)
{
down_trylock(&data->mutex);
(void)(down_trylock(&data->mutex) ?: 0);
up(&data->mutex);
}

Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/ia64/kvm/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ static void collect_interruption(struct kvm_vcpu *vcpu)
if (vdcr & IA64_DCR_PP) {
vpsr |= IA64_PSR_PP;
} else {
vpsr &= ~IA64_PSR_PP;;
vpsr &= ~IA64_PSR_PP;
}

vcpu_set_psr(vcpu, vpsr);
Expand Down Expand Up @@ -594,11 +594,11 @@ static void set_pal_call_data(struct kvm_vcpu *vcpu)
p->u.pal_data.gr30 = vcpu_get_gr(vcpu, 30);
break;
case PAL_BRAND_INFO:
p->u.pal_data.gr29 = gr29;;
p->u.pal_data.gr29 = gr29;
p->u.pal_data.gr30 = kvm_trans_pal_call_args(vcpu, gr30);
break;
default:
p->u.pal_data.gr29 = gr29;;
p->u.pal_data.gr29 = gr29;
p->u.pal_data.gr30 = vcpu_get_gr(vcpu, 30);
}
p->u.pal_data.gr28 = gr28;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kvm/vcpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ void getreg(unsigned long regnum, unsigned long *val,
* Now look at registers in [0-31] range and init correct UNAT
*/
addr = (unsigned long)regs;
unat = &regs->eml_unat;;
unat = &regs->eml_unat;

addr += gr_info[regnum];

Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/ia64/kvm/vtlb.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ struct thash_data *__vtr_lookup(struct kvm_vcpu *vcpu, u64 va, int type)
u64 rid;

rid = vcpu_get_rr(vcpu, va);
rid = rid & RR_RID_MASK;;
rid = rid & RR_RID_MASK;
if (type == D_TLB) {
if (vcpu_quick_region_check(vcpu->arch.dtr_regions, va)) {
for (trp = (struct thash_data *)&vcpu->arch.dtrs, i = 0;
Expand Down Expand Up @@ -518,7 +518,7 @@ struct thash_data *vtlb_lookup(struct kvm_vcpu *v, u64 va, int is_data)

struct thash_cb *hcb = &v->arch.vtlb;

cch = __vtr_lookup(v, va, is_data);;
cch = __vtr_lookup(v, va, is_data);
if (cch)
return cch;

Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/ia64/sn/kernel/io_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,8 @@ void sn_generate_path(struct pci_bus *pci_bus, char *address)
bricktype = MODULE_GET_BTYPE(moduleid);
if ((bricktype == L1_BRICKTYPE_191010) ||
(bricktype == L1_BRICKTYPE_1932))
sprintf(address, "%s^%d", address, geo_slot(geoid));
sprintf(address + strlen(address), "^%d",
geo_slot(geoid));
}

void __devinit
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/mn10300/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -346,10 +346,12 @@
#define __NR_inotify_init1 333
#define __NR_preadv 334
#define __NR_pwritev 335
#define __NR_rt_tgsigqueueinfo 336
#define __NR_perf_counter_open 337

#ifdef __KERNEL__

#define NR_syscalls 326
#define NR_syscalls 338

/*
* specify the deprecated syscalls we want to support on this arch
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/mn10300/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -722,6 +722,8 @@ ENTRY(sys_call_table)
.long sys_inotify_init1
.long sys_preadv
.long sys_pwritev /* 335 */
.long sys_rt_tgsigqueueinfo
.long sys_perf_counter_open


nr_syscalls=(.-sys_call_table)/4
2 changes: 2 additions & 0 deletions trunk/arch/powerpc/include/asm/perf_counter.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ struct pt_regs;
extern unsigned long perf_misc_flags(struct pt_regs *regs);
extern unsigned long perf_instruction_pointer(struct pt_regs *regs);

#define PERF_COUNTER_INDEX_OFFSET 1

/*
* Only override the default definitions in include/linux/perf_counter.h
* if we have hardware PMU support.
Expand Down
3 changes: 3 additions & 0 deletions trunk/arch/x86/include/asm/perf_counter.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ union cpuid10_edx {
#ifdef CONFIG_PERF_COUNTERS
extern void init_hw_perf_counters(void);
extern void perf_counters_lapic_init(void);

#define PERF_COUNTER_INDEX_OFFSET 0

#else
static inline void init_hw_perf_counters(void) { }
static inline void perf_counters_lapic_init(void) { }
Expand Down
Loading

0 comments on commit d11e413

Please sign in to comment.