Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 235137
b: refs/heads/master
c: 023d377
h: refs/heads/master
i:
  235135: 3b2a09b
v: v3
  • Loading branch information
Rafael J. Wysocki committed Mar 14, 2011
1 parent c041292 commit 94ac46e
Show file tree
Hide file tree
Showing 835 changed files with 16,074 additions and 29,499 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: 48d5f6731837f0ec9a0e19ca763aa17d58385a98
refs/heads/master: 023d3779145ec6b7a0f38f19672a347b92feb74e
31 changes: 0 additions & 31 deletions trunk/Documentation/RCU/whatisRCU.txt
Original file line number Diff line number Diff line change
Expand Up @@ -849,37 +849,6 @@ All: lockdep-checked RCU-protected pointer access
See the comment headers in the source code (or the docbook generated
from them) for more information.

However, given that there are no fewer than four families of RCU APIs
in the Linux kernel, how do you choose which one to use? The following
list can be helpful:

a. Will readers need to block? If so, you need SRCU.

b. What about the -rt patchset? If readers would need to block
in an non-rt kernel, you need SRCU. If readers would block
in a -rt kernel, but not in a non-rt kernel, SRCU is not
necessary.

c. Do you need to treat NMI handlers, hardirq handlers,
and code segments with preemption disabled (whether
via preempt_disable(), local_irq_save(), local_bh_disable(),
or some other mechanism) as if they were explicit RCU readers?
If so, you need RCU-sched.

d. Do you need RCU grace periods to complete even in the face
of softirq monopolization of one or more of the CPUs? For
example, is your code subject to network-based denial-of-service
attacks? If so, you need RCU-bh.

e. Is your workload too update-intensive for normal use of
RCU, but inappropriate for other synchronization mechanisms?
If so, consider SLAB_DESTROY_BY_RCU. But please be careful!

f. Otherwise, use RCU.

Of course, this all assumes that you have determined that RCU is in fact
the right tool for your job.


8. ANSWERS TO QUICK QUIZZES

Expand Down
93 changes: 0 additions & 93 deletions trunk/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt

This file was deleted.

28 changes: 0 additions & 28 deletions trunk/Documentation/devicetree/bindings/rtc/rtc-cmos.txt

This file was deleted.

38 changes: 0 additions & 38 deletions trunk/Documentation/devicetree/bindings/x86/ce4100.txt

This file was deleted.

26 changes: 0 additions & 26 deletions trunk/Documentation/devicetree/bindings/x86/interrupt.txt

This file was deleted.

6 changes: 0 additions & 6 deletions trunk/Documentation/devicetree/bindings/x86/timer.txt

This file was deleted.

20 changes: 0 additions & 20 deletions trunk/Documentation/devicetree/booting-without-of.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Table of Contents

I - Introduction
1) Entry point for arch/powerpc
2) Entry point for arch/x86

II - The DT block format
1) Header
Expand Down Expand Up @@ -226,25 +225,6 @@ it with special cases.
cannot support both configurations with Book E and configurations
with classic Powerpc architectures.

2) Entry point for arch/x86
-------------------------------

There is one single 32bit entry point to the kernel at code32_start,
the decompressor (the real mode entry point goes to the same 32bit
entry point once it switched into protected mode). That entry point
supports one calling convention which is documented in
Documentation/x86/boot.txt
The physical pointer to the device-tree block (defined in chapter II)
is passed via setup_data which requires at least boot protocol 2.09.
The type filed is defined as

#define SETUP_DTB 2

This device-tree is used as an extension to the "boot page". As such it
does not parse / consider data which is already covered by the boot
page. This includes memory size, reserved ranges, command line arguments
or initrd address. It simply holds information which can not be retrieved
otherwise like interrupt routing or a list of devices behind an I2C bus.

II - The DT block format
========================
Expand Down
4 changes: 0 additions & 4 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2444,10 +2444,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
<deci-seconds>: poll all this frequency
0: no polling (default)

threadirqs [KNL]
Force threading of all interrupt handlers except those
marked explicitely IRQF_NO_THREAD.

topology= [S390]
Format: {off | on}
Specify if the kernel should make use of the cpu
Expand Down
9 changes: 4 additions & 5 deletions trunk/Documentation/keys-request-key.txt
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,14 @@ This is because process A's keyrings can't simply be attached to
of them, and (b) it requires the same UID/GID/Groups all the way through.


====================================
NEGATIVE INSTANTIATION AND REJECTION
====================================
======================
NEGATIVE INSTANTIATION
======================

Rather than instantiating a key, it is possible for the possessor of an
authorisation key to negatively instantiate a key that's under construction.
This is a short duration placeholder that causes any attempt at re-requesting
the key whilst it exists to fail with error ENOKEY if negated or the specified
error if rejected.
the key whilst it exists to fail with error ENOKEY.

This is provided to prevent excessive repeated spawning of /sbin/request-key
processes for a key that will never be obtainable.
Expand Down
28 changes: 4 additions & 24 deletions trunk/Documentation/keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -637,9 +637,6 @@ The keyctl syscall functions are:
long keyctl(KEYCTL_INSTANTIATE, key_serial_t key,
const void *payload, size_t plen,
key_serial_t keyring);
long keyctl(KEYCTL_INSTANTIATE_IOV, key_serial_t key,
const struct iovec *payload_iov, unsigned ioc,
key_serial_t keyring);

If the kernel calls back to userspace to complete the instantiation of a
key, userspace should use this call to supply data for the key before the
Expand All @@ -655,16 +652,11 @@ The keyctl syscall functions are:

The payload and plen arguments describe the payload data as for add_key().

The payload_iov and ioc arguments describe the payload data in an iovec
array instead of a single buffer.


(*) Negatively instantiate a partially constructed key.

long keyctl(KEYCTL_NEGATE, key_serial_t key,
unsigned timeout, key_serial_t keyring);
long keyctl(KEYCTL_REJECT, key_serial_t key,
unsigned timeout, unsigned error, key_serial_t keyring);

If the kernel calls back to userspace to complete the instantiation of a
key, userspace should use this call mark the key as negative before the
Expand All @@ -677,10 +669,6 @@ The keyctl syscall functions are:
that keyring, however all the constraints applying in KEYCTL_LINK apply in
this case too.

If the key is rejected, future searches for it will return the specified
error code until the rejected key expires. Negating the key is the same
as rejecting the key with ENOKEY as the error code.


(*) Set the default request-key destination keyring.

Expand Down Expand Up @@ -1074,13 +1062,6 @@ The structure has a number of fields, some of which are mandatory:
viable.


(*) int (*vet_description)(const char *description);

This optional method is called to vet a key description. If the key type
doesn't approve of the key description, it may return an error, otherwise
it should return 0.


(*) int (*instantiate)(struct key *key, const void *data, size_t datalen);

This method is called to attach a payload to a key during construction.
Expand Down Expand Up @@ -1250,11 +1231,10 @@ hand the request off to (perhaps a path held in placed in another key by, for
example, the KDE desktop manager).

The program (or whatever it calls) should finish construction of the key by
calling KEYCTL_INSTANTIATE or KEYCTL_INSTANTIATE_IOV, which also permits it to
cache the key in one of the keyrings (probably the session ring) before
returning. Alternatively, the key can be marked as negative with KEYCTL_NEGATE
or KEYCTL_REJECT; this also permits the key to be cached in one of the
keyrings.
calling KEYCTL_INSTANTIATE, which also permits it to cache the key in one of
the keyrings (probably the session ring) before returning. Alternatively, the
key can be marked as negative with KEYCTL_NEGATE; this also permits the key to
be cached in one of the keyrings.

If it returns with the key remaining in the unconstructed state, the key will
be marked as being negative, it will be added to the session keyring, and an
Expand Down
Loading

0 comments on commit 94ac46e

Please sign in to comment.