Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 260723
b: refs/heads/master
c: e371d46
h: refs/heads/master
i:
  260721: 7f51350
  260719: 0f84f96
v: v3
  • Loading branch information
Linus Torvalds committed Jul 27, 2011
1 parent 3fc99cb commit e635f5a
Show file tree
Hide file tree
Showing 2,550 changed files with 103,865 additions and 206,120 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: e57712ebebbb9db7d8dcef216437b3171ddcf115
refs/heads/master: e371d46ae45488bcb112a99a7de462e9e3aa6764
5 changes: 5 additions & 0 deletions trunk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ modules.builtin
/Module.markers
/Module.symvers

#
# Debian directory (make deb-pkg)
#
/debian/

#
# git files that we don't want to ignore even it they are dot-files
#
Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/ABI/obsolete/proc-pid-oom_adj
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's

A much more powerful interface, /proc/<pid>/oom_score_adj, was
introduced with the oom killer rewrite that allows users to increase or
decrease the badness() score linearly. This interface will replace
decrease the badness score linearly. This interface will replace
/proc/<pid>/oom_adj.

A warning will be emitted to the kernel log if an application uses this
Expand Down
21 changes: 21 additions & 0 deletions trunk/Documentation/ABI/testing/sysfs-bus-i2c-devices-fsa9480
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
What: /sys/bus/i2c/devices/.../device
Date: February 2011
Contact: Minkyu Kang <mk7.kang@samsung.com>
Description:
show what device is attached
NONE - no device
USB - USB device is attached
UART - UART is attached
CHARGER - Charger is attaced
JIG - JIG is attached

What: /sys/bus/i2c/devices/.../switch
Date: February 2011
Contact: Minkyu Kang <mk7.kang@samsung.com>
Description:
show or set the state of manual switch
VAUDIO - switch to VAUDIO path
UART - switch to UART path
AUDIO - switch to AUDIO path
DHOST - switch to DHOST path
AUTO - switch automatically by device
23 changes: 23 additions & 0 deletions trunk/Documentation/ABI/testing/sysfs-module
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,26 @@ KernelVersion: 2.6.35
Contact: masa-korg@dsn.okisemi.com
Description: Write/read Option ROM data.


What: /sys/module/ehci_hcd/drivers/.../uframe_periodic_max
Date: July 2011
KernelVersion: 3.1
Contact: Kirill Smelkov <kirr@mns.spb.ru>
Description: Maximum time allowed for periodic transfers per microframe (μs)

[ USB 2.0 sets maximum allowed time for periodic transfers per
microframe to be 80%, that is 100 microseconds out of 125
microseconds (full microframe).

However there are cases, when 80% max isochronous bandwidth is
too limiting. For example two video streams could require 110
microseconds of isochronous bandwidth per microframe to work
together. ]

Through this setting it is possible to raise the limit so that
the host controller would allow allocating more than 100
microseconds of periodic bandwidth per microframe.

Beware, non-standard modes are usually not thoroughly tested by
hardware designers, and the hardware can malfunction when this
setting differ from default 100.
12 changes: 6 additions & 6 deletions trunk/Documentation/DMA-API-HOWTO.txt
Original file line number Diff line number Diff line change
Expand Up @@ -613,13 +613,13 @@ to use the dma_sync_*() interfaces.
pass_to_upper_layers(cp->rx_buf);
make_and_setup_new_rx_buf(cp);
} else {
/* Just sync the buffer and give it back
* to the card.
/* CPU should not write to
* DMA_FROM_DEVICE-mapped area,
* so dma_sync_single_for_device() is
* not needed here. It would be required
* for DMA_BIDIRECTIONAL mapping if
* the memory was modified.
*/
dma_sync_single_for_device(&cp->dev,
cp->rx_dma,
cp->rx_len,
DMA_FROM_DEVICE);
give_rx_buf_to_card(cp);
}
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/Documentation/SubmitChecklist
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ kernel patches.

12: Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP all simultaneously
enabled.
CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP, CONFIG_PROVE_RCU
and CONFIG_DEBUG_OBJECTS_RCU_HEAD all simultaneously enabled.

13: Has been build- and runtime tested with and without CONFIG_SMP and
CONFIG_PREEMPT.
Expand Down
85 changes: 84 additions & 1 deletion trunk/Documentation/cgroups/memory.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ will be charged as a new owner of it.

5.2 stat file

memory.stat file includes following statistics
5.2.1 memory.stat file includes following statistics

# per-memory cgroup local status
cache - # of bytes of page cache memory.
Expand Down Expand Up @@ -438,6 +438,89 @@ Note:
file_mapped is accounted only when the memory cgroup is owner of page
cache.)

5.2.2 memory.vmscan_stat

memory.vmscan_stat includes statistics information for memory scanning and
freeing, reclaiming. The statistics shows memory scanning information since
memory cgroup creation and can be reset to 0 by writing 0 as

#echo 0 > ../memory.vmscan_stat

This file contains following statistics.

[param]_[file_or_anon]_pages_by_[reason]_[under_heararchy]
[param]_elapsed_ns_by_[reason]_[under_hierarchy]

For example,

scanned_file_pages_by_limit indicates the number of scanned
file pages at vmscan.

Now, 3 parameters are supported

scanned - the number of pages scanned by vmscan
rotated - the number of pages activated at vmscan
freed - the number of pages freed by vmscan

If "rotated" is high against scanned/freed, the memcg seems busy.

Now, 2 reason are supported

limit - the memory cgroup's limit
system - global memory pressure + softlimit
(global memory pressure not under softlimit is not handled now)

When under_hierarchy is added in the tail, the number indicates the
total memcg scan of its children and itself.

elapsed_ns is a elapsed time in nanosecond. This may include sleep time
and not indicates CPU usage. So, please take this as just showing
latency.

Here is an example.

# cat /cgroup/memory/A/memory.vmscan_stat
scanned_pages_by_limit 9471864
scanned_anon_pages_by_limit 6640629
scanned_file_pages_by_limit 2831235
rotated_pages_by_limit 4243974
rotated_anon_pages_by_limit 3971968
rotated_file_pages_by_limit 272006
freed_pages_by_limit 2318492
freed_anon_pages_by_limit 962052
freed_file_pages_by_limit 1356440
elapsed_ns_by_limit 351386416101
scanned_pages_by_system 0
scanned_anon_pages_by_system 0
scanned_file_pages_by_system 0
rotated_pages_by_system 0
rotated_anon_pages_by_system 0
rotated_file_pages_by_system 0
freed_pages_by_system 0
freed_anon_pages_by_system 0
freed_file_pages_by_system 0
elapsed_ns_by_system 0
scanned_pages_by_limit_under_hierarchy 9471864
scanned_anon_pages_by_limit_under_hierarchy 6640629
scanned_file_pages_by_limit_under_hierarchy 2831235
rotated_pages_by_limit_under_hierarchy 4243974
rotated_anon_pages_by_limit_under_hierarchy 3971968
rotated_file_pages_by_limit_under_hierarchy 272006
freed_pages_by_limit_under_hierarchy 2318492
freed_anon_pages_by_limit_under_hierarchy 962052
freed_file_pages_by_limit_under_hierarchy 1356440
elapsed_ns_by_limit_under_hierarchy 351386416101
scanned_pages_by_system_under_hierarchy 0
scanned_anon_pages_by_system_under_hierarchy 0
scanned_file_pages_by_system_under_hierarchy 0
rotated_pages_by_system_under_hierarchy 0
rotated_anon_pages_by_system_under_hierarchy 0
rotated_file_pages_by_system_under_hierarchy 0
freed_pages_by_system_under_hierarchy 0
freed_anon_pages_by_system_under_hierarchy 0
freed_file_pages_by_system_under_hierarchy 0
elapsed_ns_by_system_under_hierarchy 0

5.3 swappiness

Similar to /proc/sys/vm/swappiness, but affecting a hierarchy of groups only.
Expand Down
3 changes: 3 additions & 0 deletions trunk/Documentation/devicetree/bindings/arm/sirf.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
prima2 "cb" evalutation board
Required root node properties:
- compatible = "sirf,prima2-cb", "sirf,prima2";
7 changes: 7 additions & 0 deletions trunk/Documentation/devicetree/bindings/arm/xilinx.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Xilinx Zynq EP107 Emulation Platform board

This board is an emulation platform for the Zynq product which is
based on an ARM Cortex A9 processor.

Required root node properties:
- compatible = "xlnx,zynq-ep107";
5 changes: 5 additions & 0 deletions trunk/Documentation/devicetree/bindings/rtc/olpc-xo1-rtc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
OLPC XO-1 RTC
~~~~~~~~~~~~~

Required properties:
- compatible : "olpc,xo1-rtc"
2 changes: 1 addition & 1 deletion trunk/Documentation/driver-model/device.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,4 +104,4 @@ Then in the module init function is would do:

And assuming 'dev' is the struct device passed into the probe hook, the driver
probe function would do something like:
create_device(&mydriver_class, dev, chrdev, &private_data, "my_name");
device_create(&mydriver_class, dev, chrdev, &private_data, "my_name");
52 changes: 34 additions & 18 deletions trunk/Documentation/driver-model/overview.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ management, and hot plug. In particular, the model dictated by Intel and
Microsoft (namely ACPI) ensures that almost every device on almost any bus
on an x86-compatible system can work within this paradigm. Of course,
not every bus is able to support all such operations, although most
buses support a most of those operations.
buses support most of those operations.


Downstream Access
Expand All @@ -46,25 +46,29 @@ struct pci_dev now looks like this:
struct pci_dev {
...

struct device dev;
struct device dev; /* Generic device interface */
...
};

Note first that it is statically allocated. This means only one allocation on
device discovery. Note also that it is at the _end_ of struct pci_dev. This is
to make people think about what they're doing when switching between the bus
driver and the global driver; and to prevent against mindless casts between
the two.
Note first that the struct device dev within the struct pci_dev is
statically allocated. This means only one allocation on device discovery.

Note also that that struct device dev is not necessarily defined at the
front of the pci_dev structure. This is to make people think about what
they're doing when switching between the bus driver and the global driver,
and to discourage meaningless and incorrect casts between the two.

The PCI bus layer freely accesses the fields of struct device. It knows about
the structure of struct pci_dev, and it should know the structure of struct
device. Individual PCI device drivers that have been converted to the current
driver model generally do not and should not touch the fields of struct device,
unless there is a strong compelling reason to do so.
unless there is a compelling reason to do so.

This abstraction is prevention of unnecessary pain during transitional phases.
If the name of the field changes or is removed, then every downstream driver
will break. On the other hand, if only the bus layer (and not the device
layer) accesses struct device, it is only that layer that needs to change.
The above abstraction prevents unnecessary pain during transitional phases.
If it were not done this way, then when a field was renamed or removed, every
downstream driver would break. On the other hand, if only the bus layer
(and not the device layer) accesses the struct device, it is only the bus
layer that needs to change.


User Interface
Expand All @@ -73,15 +77,27 @@ User Interface
By virtue of having a complete hierarchical view of all the devices in the
system, exporting a complete hierarchical view to userspace becomes relatively
easy. This has been accomplished by implementing a special purpose virtual
file system named sysfs. It is hence possible for the user to mount the
whole sysfs filesystem anywhere in userspace.
file system named sysfs.

Almost all mainstream Linux distros mount this filesystem automatically; you
can see some variation of the following in the output of the "mount" command:

$ mount
...
none on /sys type sysfs (rw,noexec,nosuid,nodev)
...
$

The auto-mounting of sysfs is typically accomplished by an entry similar to
the following in the /etc/fstab file:

none /sys sysfs defaults 0 0

This can be done permanently by providing the following entry into the
/etc/fstab (under the provision that the mount point does exist, of course):
or something similar in the /lib/init/fstab file on Debian-based systems:

none /sys sysfs defaults 0 0
none /sys sysfs nodev,noexec,nosuid 0 0

Or by hand on the command line:
If sysfs is not automatically mounted, you can always do it manually with:

# mount -t sysfs sysfs /sys

Expand Down
21 changes: 18 additions & 3 deletions trunk/Documentation/fb/modedb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ in a video= option, fbmem considers that to be a global video mode option.

Valid mode specifiers (mode_option argument):

<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m]
<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
<name>[-<bpp>][@<refresh>]

with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
Expand All @@ -36,6 +36,21 @@ pixels and 1.8% of yres).

Sample usage: 1024x768M@60m - CVT timing with margins

DRM drivers also add options to enable or disable outputs:

'e' will force the display to be enabled, i.e. it will override the detection
if a display is connected. 'D' will force the display to be enabled and use
digital output. This is useful for outputs that have both analog and digital
signals (e.g. HDMI and DVI-I). For other outputs it behaves like 'e'. If 'd'
is specified the output is disabled.

You can additionally specify which output the options matches to.
To force the VGA output to be enabled and drive a specific mode say:
video=VGA-1:1280x1024@60me

Specifying the option multiple times for different ports is possible, e.g.:
video=LVDS-1:d video=HDMI-1:D

***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo *****

What is the VESA(TM) Coordinated Video Timings (CVT)?
Expand Down Expand Up @@ -132,5 +147,5 @@ There may be more modes.
tridentfb - Trident (Cyber)blade chipset frame buffer
vt8623fb - VIA 8623 frame buffer

BTW, only a few drivers use this at the moment. Others are to follow
(feel free to send patches).
BTW, only a few fb drivers use this at the moment. Others are to follow
(feel free to send patches). The DRM drivers also support this.
Loading

0 comments on commit e635f5a

Please sign in to comment.