Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 218697
b: refs/heads/master
c: 95a2f6f
h: refs/heads/master
i:
  218695: 4c8679d
v: v3
  • Loading branch information
David Howells committed Oct 27, 2010
1 parent 7f956c1 commit d339d88
Show file tree
Hide file tree
Showing 395 changed files with 4,021 additions and 10,565 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: 7c5814c7199851c5fe9395d08fc1ab3c8c1531ea
refs/heads/master: 95a2f6f72d37762ba1b3d6c8031f66a6467a63df
38 changes: 2 additions & 36 deletions trunk/Documentation/accounting/getdelays.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <signal.h>

#include <linux/genetlink.h>
Expand Down Expand Up @@ -267,13 +266,11 @@ int main(int argc, char *argv[])
int containerset = 0;
char containerpath[1024];
int cfd = 0;
int forking = 0;
sigset_t sigset;

struct msgtemplate msg;

while (!forking) {
c = getopt(argc, argv, "qdiw:r:m:t:p:vlC:c:");
while (1) {
c = getopt(argc, argv, "qdiw:r:m:t:p:vlC:");
if (c < 0)
break;

Expand Down Expand Up @@ -322,28 +319,6 @@ int main(int argc, char *argv[])
err(1, "Invalid pid\n");
cmd_type = TASKSTATS_CMD_ATTR_PID;
break;
case 'c':

/* Block SIGCHLD for sigwait() later */
if (sigemptyset(&sigset) == -1)
err(1, "Failed to empty sigset");
if (sigaddset(&sigset, SIGCHLD))
err(1, "Failed to set sigchld in sigset");
sigprocmask(SIG_BLOCK, &sigset, NULL);

/* fork/exec a child */
tid = fork();
if (tid < 0)
err(1, "Fork failed\n");
if (tid == 0)
if (execvp(argv[optind - 1],
&argv[optind - 1]) < 0)
exit(-1);

/* Set the command type and avoid further processing */
cmd_type = TASKSTATS_CMD_ATTR_PID;
forking = 1;
break;
case 'v':
printf("debug on\n");
dbg = 1;
Expand Down Expand Up @@ -395,15 +370,6 @@ int main(int argc, char *argv[])
goto err;
}

/*
* If we forked a child, wait for it to exit. Cannot use waitpid()
* as all the delicious data would be reaped as part of the wait
*/
if (tid && forking) {
int sig_received;
sigwait(&sigset, &sig_received);
}

if (tid) {
rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET,
cmd_type, &tid, sizeof(__u32));
Expand Down
14 changes: 2 additions & 12 deletions trunk/Documentation/cgroups/cgroups.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ CONTENTS:
1.2 Why are cgroups needed ?
1.3 How are cgroups implemented ?
1.4 What does notify_on_release do ?
1.5 What does clone_children do ?
1.6 How do I use cgroups ?
1.5 How do I use cgroups ?
2. Usage Examples and Syntax
2.1 Basic Usage
2.2 Attaching processes
Expand Down Expand Up @@ -294,16 +293,7 @@ notify_on_release in the root cgroup at system boot is disabled
value of their parents notify_on_release setting. The default value of
a cgroup hierarchy's release_agent path is empty.

1.5 What does clone_children do ?
---------------------------------

If the clone_children flag is enabled (1) in a cgroup, then all
cgroups created beneath will call the post_clone callbacks for each
subsystem of the newly created cgroup. Usually when this callback is
implemented for a subsystem, it copies the values of the parent
subsystem, this is the case for the cpuset.

1.6 How do I use cgroups ?
1.5 How do I use cgroups ?
--------------------------

To start a new job that is to be contained within a cgroup, using
Expand Down
17 changes: 0 additions & 17 deletions trunk/Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -526,23 +526,6 @@ Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>

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

What: namespace cgroup (ns_cgroup)
When: 2.6.38
Why: The ns_cgroup leads to some problems:
* cgroup creation is out-of-control
* cgroup name can conflict when pids are looping
* it is not possible to have a single process handling
a lot of namespaces without falling in a exponential creation time
* we may want to create a namespace without creating a cgroup

The ns_cgroup is replaced by a compatibility flag 'clone_children',
where a newly created cgroup will copy the parent cgroup values.
The userspace has to manually create a cgroup and add a task to
the 'tasks' file.
Who: Daniel Lezcano <daniel.lezcano@free.fr>

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

What: iwlwifi disable_hw_scan module parameters
When: 2.6.40
Why: Hareware scan is the prefer method for iwlwifi devices for
Expand Down
17 changes: 3 additions & 14 deletions trunk/Documentation/filesystems/proc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@ Table 1-1: Process specific entries in /proc
statm Process memory status information
status Process status in human readable form
wchan If CONFIG_KALLSYMS is set, a pre-decoded wchan
pagemap Page table
stack Report full stack trace, enable via CONFIG_STACKTRACE
smaps a extension based on maps, showing the memory consumption of
each mapping
Expand Down Expand Up @@ -371,7 +370,6 @@ Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 0 kB
Referenced: 892 kB
Anonymous: 0 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Expand All @@ -380,15 +378,9 @@ The first of these lines shows the same information as is displayed for the
mapping in /proc/PID/maps. The remaining lines show the size of the mapping
(size), the amount of the mapping that is currently resident in RAM (RSS), the
process' proportional share of this mapping (PSS), the number of clean and
dirty private pages in the mapping. Note that even a page which is part of a
MAP_SHARED mapping, but has only a single pte mapped, i.e. is currently used
by only one process, is accounted as private and not as shared. "Referenced"
indicates the amount of memory currently marked as referenced or accessed.
"Anonymous" shows the amount of memory that does not belong to any file. Even
a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE
and a page is modified, the file page is replaced by a private anonymous copy.
"Swap" shows how much would-be-anonymous memory is also used, but out on
swap.
dirty shared pages in the mapping, and the number of clean and dirty private
pages in the mapping. The "Referenced" indicates the amount of memory
currently marked as referenced or accessed.

This file is only present if the CONFIG_MMU kernel configuration option is
enabled.
Expand All @@ -405,9 +397,6 @@ To clear the bits for the file mapped pages associated with the process
> echo 3 > /proc/PID/clear_refs
Any other value written to /proc/PID/clear_refs will have no effect.

The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags
using /proc/kpageflags and number of times a page is mapped using
/proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.txt.

1.2 Kernel data
---------------
Expand Down
18 changes: 18 additions & 0 deletions trunk/Documentation/networking/phy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,18 @@ Doing it all yourself

A convenience function to print out the PHY status neatly.

int phy_clear_interrupt(struct phy_device *phydev);
int phy_config_interrupt(struct phy_device *phydev, u32 interrupts);

Clear the PHY's interrupt, and configure which ones are allowed,
respectively. Currently only supports all on, or all off.

int phy_enable_interrupts(struct phy_device *phydev);
int phy_disable_interrupts(struct phy_device *phydev);

Functions which enable/disable PHY interrupts, clearing them
before and after, respectively.

int phy_start_interrupts(struct phy_device *phydev);
int phy_stop_interrupts(struct phy_device *phydev);

Expand All @@ -201,6 +213,12 @@ Doing it all yourself
Fills the phydev structure with up-to-date information about the current
settings in the PHY.

void phy_sanitize_settings(struct phy_device *phydev)

Resolves differences between currently desired settings, and
supported settings for the given PHY device. Does not make
the changes in the hardware, though.

int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);

Expand Down
12 changes: 4 additions & 8 deletions trunk/Documentation/sysctl/vm.txt
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,8 @@ dirty_background_bytes
Contains the amount of dirty memory at which the pdflush background writeback
daemon will start writeback.

Note: dirty_background_bytes is the counterpart of dirty_background_ratio. Only
one of them may be specified at a time. When one sysctl is written it is
immediately taken into account to evaluate the dirty memory limits and the
other appears as 0 when read.
If dirty_background_bytes is written, dirty_background_ratio becomes a function
of its value (dirty_background_bytes / the amount of dirtyable system memory).

==============================================================

Expand All @@ -99,10 +97,8 @@ dirty_bytes
Contains the amount of dirty memory at which a process generating disk writes
will itself start writeback.

Note: dirty_bytes is the counterpart of dirty_ratio. Only one of them may be
specified at a time. When one sysctl is written it is immediately taken into
account to evaluate the dirty memory limits and the other appears as 0 when
read.
If dirty_bytes is written, dirty_ratio becomes a function of its value
(dirty_bytes / the amount of dirtyable system memory).

Note: the minimum value allowed for dirty_bytes is two pages (in bytes); any
value lower than this limit will be ignored and the old configuration will be
Expand Down
2 changes: 1 addition & 1 deletion trunk/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ targets += arch/$(SRCARCH)/kernel/asm-offsets.s
# Default sed regexp - multiline due to syntax constraints
define sed-y
"/^->/{s:->#\(.*\):/* \1 */:; \
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 (\2) /* \3 */:; \
s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
s:->::; p;}"
endef
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/alpha/kernel/pci_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ iommu_arena_free(struct pci_iommu_arena *arena, long ofs, long n)
*/
static int pci_dac_dma_supported(struct pci_dev *dev, u64 mask)
{
dma_addr_t dac_offset = alpha_mv.pci_dac_offset;
dma64_addr_t dac_offset = alpha_mv.pci_dac_offset;
int ok = 1;

/* If this is not set, the machine doesn't support DAC at all. */
Expand Down Expand Up @@ -756,7 +756,7 @@ static void alpha_pci_unmap_sg(struct device *dev, struct scatterlist *sg,
spin_lock_irqsave(&arena->lock, flags);

for (end = sg + nents; sg < end; ++sg) {
dma_addr_t addr;
dma64_addr_t addr;
size_t size;
long npages, ofs;
dma_addr_t tend;
Expand Down
7 changes: 3 additions & 4 deletions trunk/arch/alpha/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,7 @@ void ptrace_disable(struct task_struct *child)
user_disable_single_step(child);
}

long arch_ptrace(struct task_struct *child, long request,
unsigned long addr, unsigned long data)
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
{
unsigned long tmp;
size_t copied;
Expand All @@ -293,7 +292,7 @@ long arch_ptrace(struct task_struct *child, long request,
case PTRACE_PEEKUSR:
force_successful_syscall_return();
ret = get_reg(child, addr);
DBG(DBG_MEM, ("peek $%lu->%#lx\n", addr, ret));
DBG(DBG_MEM, ("peek $%ld->%#lx\n", addr, ret));
break;

/* When I and D space are separate, this will have to be fixed. */
Expand All @@ -303,7 +302,7 @@ long arch_ptrace(struct task_struct *child, long request,
break;

case PTRACE_POKEUSR: /* write the specified register */
DBG(DBG_MEM, ("poke $%lu<-%#lx\n", addr, data));
DBG(DBG_MEM, ("poke $%ld<-%#lx\n", addr, data));
ret = put_reg(child, addr, data);
break;
default:
Expand Down
28 changes: 13 additions & 15 deletions trunk/arch/arm/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1075,50 +1075,48 @@ static int ptrace_sethbpregs(struct task_struct *tsk, long num,
}
#endif

long arch_ptrace(struct task_struct *child, long request,
unsigned long addr, unsigned long data)
long arch_ptrace(struct task_struct *child, long request, long addr, long data)
{
int ret;
unsigned long __user *datap = (unsigned long __user *) data;

switch (request) {
case PTRACE_PEEKUSR:
ret = ptrace_read_user(child, addr, datap);
ret = ptrace_read_user(child, addr, (unsigned long __user *)data);
break;

case PTRACE_POKEUSR:
ret = ptrace_write_user(child, addr, data);
break;

case PTRACE_GETREGS:
ret = ptrace_getregs(child, datap);
ret = ptrace_getregs(child, (void __user *)data);
break;

case PTRACE_SETREGS:
ret = ptrace_setregs(child, datap);
ret = ptrace_setregs(child, (void __user *)data);
break;

case PTRACE_GETFPREGS:
ret = ptrace_getfpregs(child, datap);
ret = ptrace_getfpregs(child, (void __user *)data);
break;

case PTRACE_SETFPREGS:
ret = ptrace_setfpregs(child, datap);
ret = ptrace_setfpregs(child, (void __user *)data);
break;

#ifdef CONFIG_IWMMXT
case PTRACE_GETWMMXREGS:
ret = ptrace_getwmmxregs(child, datap);
ret = ptrace_getwmmxregs(child, (void __user *)data);
break;

case PTRACE_SETWMMXREGS:
ret = ptrace_setwmmxregs(child, datap);
ret = ptrace_setwmmxregs(child, (void __user *)data);
break;
#endif

case PTRACE_GET_THREAD_AREA:
ret = put_user(task_thread_info(child)->tp_value,
datap);
(unsigned long __user *) data);
break;

case PTRACE_SET_SYSCALL:
Expand All @@ -1128,21 +1126,21 @@ long arch_ptrace(struct task_struct *child, long request,

#ifdef CONFIG_CRUNCH
case PTRACE_GETCRUNCHREGS:
ret = ptrace_getcrunchregs(child, datap);
ret = ptrace_getcrunchregs(child, (void __user *)data);
break;

case PTRACE_SETCRUNCHREGS:
ret = ptrace_setcrunchregs(child, datap);
ret = ptrace_setcrunchregs(child, (void __user *)data);
break;
#endif

#ifdef CONFIG_VFP
case PTRACE_GETVFPREGS:
ret = ptrace_getvfpregs(child, datap);
ret = ptrace_getvfpregs(child, (void __user *)data);
break;

case PTRACE_SETVFPREGS:
ret = ptrace_setvfpregs(child, datap);
ret = ptrace_setvfpregs(child, (void __user *)data);
break;
#endif

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-tegra/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include <linux/io.h>
#include <linux/cnt32_to_63.h>

#include <asm/mach/time.h>
#include <asm/mach/time.h>
#include <asm/localtimer.h>

Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/arm/mm/highmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ void __kunmap_atomic(void *kvaddr)
int idx, type;

if (kvaddr >= (void *)FIXADDR_START) {
type = kmap_atomic_idx();
type = kmap_atomic_idx_pop();
idx = type + KM_TYPE_NR * smp_processor_id();

if (cache_is_vivt())
Expand All @@ -101,7 +101,6 @@ void __kunmap_atomic(void *kvaddr)
#else
(void) idx; /* to kill a warning */
#endif
kmap_atomic_idx_pop();
} else if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) {
/* this address was obtained through kmap_high_get() */
kunmap_high(pte_page(pkmap_page_table[PKMAP_NR(vaddr)]));
Expand Down
Loading

0 comments on commit d339d88

Please sign in to comment.