01 Jan, 2009
1 commit
-
Signed-off-by: Al Viro
05 Dec, 2008
1 commit
-
Simply replace netdev->priv with netdev_priv().
Signed-off-by: Wang Chen
Signed-off-by: David S. Miller
28 Oct, 2008
1 commit
-
A number of places still use %02x:...:%02x because it's
in debug statements or for no real reason. Make a few
of them use %pM.Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller
24 Oct, 2008
1 commit
-
* git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6:
xtensa: Add config files for Diamond 232L - Rev B processor variant
xtensa: Fix io regions
xtensa: Add support for the Sonic Ethernet device for the XT2000 board.
xtensa: replace remaining __FUNCTION__ occurrences
xtensa: use newer __SPIN_LOCK_UNLOCKED macro
XTENSA: warn about including directly.
22 Oct, 2008
1 commit
-
The Diamond 232L processor is a pre-configured Xtensa processor tailored
for Linux application.Signed-off-by: Chris Zankel
20 Oct, 2008
1 commit
-
This patch implements a new freezer subsystem in the control groups
framework. It provides a way to stop and resume execution of all tasks in
a cgroup by writing in the cgroup filesystem.The freezer subsystem in the container filesystem defines a file named
freezer.state. Writing "FROZEN" to the state file will freeze all tasks
in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in
the cgroup. Reading will return the current state.* Examples of usage :
# mkdir /containers/freezer
# mount -t cgroup -ofreezer freezer /containers
# mkdir /containers/0
# echo $some_pid > /containers/0/tasksto get status of the freezer subsystem :
# cat /containers/0/freezer.state
RUNNINGto freeze all tasks in the container :
# echo FROZEN > /containers/0/freezer.state
# cat /containers/0/freezer.state
FREEZING
# cat /containers/0/freezer.state
FROZENto unfreeze all tasks in the container :
# echo RUNNING > /containers/0/freezer.state
# cat /containers/0/freezer.state
RUNNINGThis is the basic mechanism which should do the right thing for user space
task in a simple scenario.It's important to note that freezing can be incomplete. In that case we
return EBUSY. This means that some tasks in the cgroup are busy doing
something that prevents us from completely freezing the cgroup at this
time. After EBUSY, the cgroup will remain partially frozen -- reflected
by freezer.state reporting "FREEZING" when read. The state will remain
"FREEZING" until one of these things happens:1) Userspace cancels the freezing operation by writing "RUNNING" to
the freezer.state file
2) Userspace retries the freezing operation by writing "FROZEN" to
the freezer.state file (writing "FREEZING" is not legal
and returns EIO)
3) The tasks that blocked the cgroup from entering the "FROZEN"
state disappear from the cgroup's set of tasks.[akpm@linux-foundation.org: coding-style fixes]
[akpm@linux-foundation.org: export thaw_process]
Signed-off-by: Cedric Le Goater
Signed-off-by: Matt Helsley
Acked-by: Serge E. Hallyn
Tested-by: Matt Helsley
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
15 Oct, 2008
2 commits
-
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison
Signed-off-by: Andrew Morton
Signed-off-by: Chris Zankel -
SPIN_LOCK_UNLOCKED() breaks lockdep and is deprecated.
Signed-off-by: Robert P. J. Day
Signed-off-by: Andrew Morton
Signed-off-by: Chris Zankel
14 Oct, 2008
1 commit
-
I don't know why this was there, but it was dead code.
Signed-off-by: Adrian Bunk
Cc: chris@zankel.net
Signed-off-by: Bartlomiej Zolnierkiewicz
06 Aug, 2008
1 commit
-
This patch remove unneeded #include 's.
It also adds a required #include that was previously
implicitely pulled by ide.hSigned-off-by: Adrian Bunk
[bart: revert change to tests/lkdtm.c (spotted by Stephen Rothwell)]
Signed-off-by: Bartlomiej Zolnierkiewicz
27 Jul, 2008
2 commits
-
Remove arch-specific show_mem() in favor of the generic version.
This also removes the following redundant information display:
- free pages, printed by show_free_areas()
- pages in swapcache, printed by show_swap_cache_info()where show_mem() calls show_free_areas(), which calls
show_swap_cache_info().Signed-off-by: Johannes Weiner
Cc: Chris Zankel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Kmem cache passed to constructor is only needed for constructors that are
themselves multiplexeres. Nobody uses this "feature", nor does anybody uses
passed kmem cache in non-trivial way, so pass only pointer to object.Non-trivial places are:
arch/powerpc/mm/init_64.c
arch/powerpc/mm/hugetlbpage.cThis is flag day, yes.
Signed-off-by: Alexey Dobriyan
Acked-by: Pekka Enberg
Acked-by: Christoph Lameter
Cc: Jon Tollefson
Cc: Nick Piggin
Cc: Matt Mackall
[akpm@linux-foundation.org: fix arch/powerpc/mm/hugetlbpage.c]
[akpm@linux-foundation.org: fix mm/slab.c]
[akpm@linux-foundation.org: fix ubifs]
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
25 Jul, 2008
2 commits
-
This patch introduces the new syscall pipe2 which is like pipe but it also
takes an additional parameter which takes a flag value. This patch implements
the handling of O_CLOEXEC for the flag. I did not add support for the new
syscall for the architectures which have a special sys_pipe implementation. I
think the maintainers of those archs have the chance to go with the unified
implementation but that's up to them.The implementation introduces do_pipe_flags. I did that instead of changing
all callers of do_pipe because some of the callers are written in assembler.
I would probably screw up changing the assembly code. To avoid breaking code
do_pipe is now a small wrapper around do_pipe_flags. Once all callers are
changed over to do_pipe_flags the old do_pipe function can be removed.The following test must be adjusted for architectures other than x86 and
x86-64 and in case the syscall numbers changed.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include
#include
#include
#include#ifndef __NR_pipe2
# ifdef __x86_64__
# define __NR_pipe2 293
# elif defined __i386__
# define __NR_pipe2 331
# else
# error "need __NR_pipe2"
# endif
#endifint
main (void)
{
int fd[2];
if (syscall (__NR_pipe2, fd, 0) != 0)
{
puts ("pipe2(0) failed");
return 1;
}
for (int i = 0; i < 2; ++i)
{
int coe = fcntl (fd[i], F_GETFD);
if (coe == -1)
{
puts ("fcntl failed");
return 1;
}
if (coe & FD_CLOEXEC)
{
printf ("pipe2(0) set close-on-exit for fd[%d]\n", i);
return 1;
}
}
close (fd[0]);
close (fd[1]);if (syscall (__NR_pipe2, fd, O_CLOEXEC) != 0)
{
puts ("pipe2(O_CLOEXEC) failed");
return 1;
}
for (int i = 0; i < 2; ++i)
{
int coe = fcntl (fd[i], F_GETFD);
if (coe == -1)
{
puts ("fcntl failed");
return 1;
}
if ((coe & FD_CLOEXEC) == 0)
{
printf ("pipe2(O_CLOEXEC) does not set close-on-exit for fd[%d]\n", i);
return 1;
}
}
close (fd[0]);
close (fd[1]);puts ("OK");
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Signed-off-by: Ulrich Drepper
Acked-by: Davide Libenzi
Cc: Michael Kerrisk
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
On 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit
boundary. For example:u64 val = PAGE_ALIGN(size);
always returns a value < 4GB even if size is greater than 4GB.
The problem resides in PAGE_MASK definition (from include/asm-x86/page.h for
example):#define PAGE_SHIFT 12
#define PAGE_SIZE (_AC(1,UL) << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))
...
#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)The "~" is performed on a 32-bit value, so everything in "and" with
PAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.
Using the ALIGN() macro seems to be the right way, because it uses
typeof(addr) for the mask.Also move the PAGE_ALIGN() definitions out of include/asm-*/page.h in
include/linux/mm.h.See also lkml discussion: http://lkml.org/lkml/2008/6/11/237
[akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]
[akpm@linux-foundation.org: fix v850]
[akpm@linux-foundation.org: fix powerpc]
[akpm@linux-foundation.org: fix arm]
[akpm@linux-foundation.org: fix mips]
[akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]
[akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]
[akpm@linux-foundation.org: fix powerpc]
Signed-off-by: Andrea Righi
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 Jul, 2008
1 commit
-
Also includes a few Kconfig files (xtensa, blackfin)
Signed-off-by: Johannes Berg
Cc: Michael Kerrisk
Cc: linux-doc@vger.kernel.org
Signed-off-by: Rusty Russell
Acked-by: Randy Dunlap
17 May, 2008
1 commit
-
Signed-off-by: Al Viro
29 Apr, 2008
1 commit
-
Signed-off-by: Christoph Lameter
Cc: Chris Zankel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Apr, 2008
1 commit
-
Semaphores are no longer performance-critical, so a generic C
implementation is better for maintainability, debuggability and
extensibility. Thanks to Peter Zijlstra for fixing the lockdep
warning. Thanks to Harvey Harrison for pointing out that the
unlikely() was unnecessary.Signed-off-by: Matthew Wilcox
Acked-by: Ingo Molnar
14 Feb, 2008
22 commits
-
For the 'return' command, GDB needs to adjust WINDOWBASE.
In case WB is different from 0, we need to rotate the
window register file and update WINDOWSTART and WMASK.
This patch also removes some ret|= statements for
__get_user/__put_user as the address range was alrady
checked a couple of lines earlier.Signed-off-by: Chris Zankel
-
When building with binutils-2.18, vmlinux includes .note.gnu.build-id
sections that need to be stripped out when building the binary image.
The old .xt.insn sections haven't been used for a long time, so don't
bother stripping them.Signed-off-by: Bob Wilson
Signed-off-by: Chris Zankel -
For processor configurations that have optional registers
(compiler-used but non-coprocessor), user space registers
might get corrupted when there are only 4 registers in
the current window-frame, ie. register a4 belongs to the
oldest frame in the register file.Signed-off-by: Chris Zankel
-
Supporting the sa_restorer function allows for better security
since the sigreturn system call doesn't need to be placed on
the stack, so the stack doesn't need to be executable. This
requires support from the c-library as it has to provide the
restorer function.Signed-off-by: Chris Zankel
-
The Xtensa architecture allows to define custom instructions and
registers. Registers that are bound to a coprocessor are only
accessible if the corresponding enable bit is set, which allows
to implement a 'lazy' context switch mechanism. Other registers
needs to be saved and restore at the time of the context switch
or during interrupt handling.This patch adds support for these additional states:
- save and restore registers that are used by the compiler upon
interrupt entry and exit.
- context switch additional registers unbound to any coprocessor
- 'lazy' context switch of registers bound to a coprocessor
- ptrace interface to provide access to additional registers
- update configuration files in include/asm-xtensa/variant-fsfSigned-off-by: Chris Zankel
-
Signed-off-by: Marc Gauthier
Signed-off-by: Chris Zankel -
We also need to relocate the debug vector if in RAM.
Signed-off-by: Marc Gauthier
-
We will never (need to) support signal handling coming from a
double exception. There are too many things that could go wrong
and delivering signals is not the fastest method for IPC, anyway.Signed-off-by: Chris Zankel
-
We need to use vmalloc_exec for module loading. Also remove
the definitions MODULE_START and MODULE_END, which wasn't
used, and increase the VMALLOC memory range accordingly.Signed-off-by: Chris Zankel
-
Signed-off-by: Marc Gauthier
Signed-off-by: Chris Zankel -
Register a2 is saved in depc but wasn't getting restored before
returning from _spill_registers when there weren't any registers
to spill. The mask to cut the top bit from the rotated WINDOWMASK
register was also one bit short.Signed-off-by: CHris Zankel
-
Move boot-redboot load address from 0xD0200000 to 0xD1000000
to make space for larger kernel images, in particular those with
an embedded initramfs filesystem.
Also properly set the ELF start address in boot-elf images so
that PC need not be set manually when loading them using GDB.Signed-off-by: Marc Gauthier
-
Remove oldmask from the sigcontext structure. Also update wmask
and windowstart when we flush the AR registers to stack.Signed-off-by: Chris Zankel
-
Remove additional registers from the ELF gregset structure that
are only used by the kernel or are not required or invalid in
user-space. The ar registers are always aligned to a windowbase
value of 0, and the WB register is always assumed to be 0.
Increase the size of the structure to 128 entries. This will
provide enough space in future.Signed-off-by: Chris Zankel
-
Set the execution bit in the temporary TLB when we flush the
instruction cache.Signed-off-by: Chris Zankel
-
The simcall asm macro assumes Windowed ABI parameter passing
in registers, and doesn't work if its containing function gets
inlined. This fix prevents that from happening.Signed-off-by: Marc Gauthier
-
The TLB entry for the user address doesn't exist at the time we
want to flush the caches, so use the page address. Note that processor
configurations with cache-aliasing issues are treated separately.Signed-off-by: Chris Zankel
-
The argument list for ctor function element in the
kmem_cache structure has changed.Signed-off-by: Chris Zankel
-
Create arch/xtensa/platforms/ directory to concentrate
all platforms under that subdirectory and moves the ISS platform
to that directory.Signed-off-by: Chris Zankel
-
Xtensa requires separate .literal section for each .text section.
Adding addition init sections for cpuinit, meminit, and devinit,
broke the Xtensa linker script, so, add these literal sections
manually for now.Signed-off-by: Chris Zankel
-
Signed-off-by: Adrian Bunk
Signed-off-by: Christian Zankel
Signed-off-by: Andrew Morton -
Signed-off-by: Lucas Woods
Signed-off-by: Andrew Morton
Signed-off-by: Christian Zankel