From dd60f8213eb154d3b8b5e96615673788e3a4a137 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Wed, 22 Mar 2006 10:47:24 -0800 Subject: [PATCH] --- yaml --- r: 22657 b: refs/heads/master c: 2152f8536668a957ea3214735b4761e7b22ef7d8 h: refs/heads/master i: 22655: b1230950a2e2d829432bacd25e6e848ae1e3aa67 v: v3 --- [refs] | 2 +- trunk/Documentation/networking/e100.txt | 158 +- trunk/Documentation/networking/e1000.txt | 620 ++- trunk/MAINTAINERS | 16 +- trunk/arch/alpha/mm/init.c | 2 +- trunk/arch/arm/mm/consistent.c | 4 +- trunk/arch/arm/mm/init.c | 2 +- trunk/arch/arm26/mm/init.c | 2 +- trunk/arch/cris/mm/init.c | 2 +- trunk/arch/frv/kernel/frv_ksyms.c | 1 + trunk/arch/frv/mm/dma-alloc.c | 4 +- trunk/arch/frv/mm/init.c | 6 +- trunk/arch/h8300/kernel/h8300_ksyms.c | 1 + trunk/arch/h8300/mm/init.c | 4 +- trunk/arch/i386/kernel/efi.c | 2 +- trunk/arch/i386/kernel/smp.c | 28 +- trunk/arch/i386/kernel/sys_i386.c | 25 +- trunk/arch/i386/kernel/timers/timer_hpet.c | 2 +- trunk/arch/i386/kernel/timers/timer_tsc.c | 2 +- trunk/arch/i386/mm/hugetlbpage.c | 12 - trunk/arch/i386/mm/init.c | 6 +- trunk/arch/i386/mm/pageattr.c | 20 +- trunk/arch/ia64/Kconfig | 19 + trunk/arch/ia64/configs/tiger_defconfig | 2 + trunk/arch/ia64/kernel/acpi.c | 14 +- trunk/arch/ia64/kernel/entry.S | 14 - trunk/arch/ia64/kernel/iosapic.c | 6 + trunk/arch/ia64/kernel/irq.c | 13 +- trunk/arch/ia64/kernel/mca.c | 90 +- trunk/arch/ia64/kernel/perfmon.c | 5 +- trunk/arch/ia64/kernel/signal.c | 101 - trunk/arch/ia64/kernel/smpboot.c | 114 +- trunk/arch/ia64/kernel/time.c | 9 +- trunk/arch/ia64/kernel/topology.c | 2 +- trunk/arch/ia64/mm/contig.c | 4 +- trunk/arch/ia64/mm/discontig.c | 9 +- trunk/arch/ia64/mm/hugetlbpage.c | 5 +- trunk/arch/ia64/mm/init.c | 6 +- trunk/arch/ia64/sn/kernel/Makefile | 3 +- trunk/arch/ia64/sn/kernel/pio_phys.S | 71 + trunk/arch/ia64/sn/kernel/setup.c | 6 +- trunk/arch/ia64/sn/kernel/sn2/sn2_smp.c | 21 + trunk/arch/ia64/sn/kernel/xpc_channel.c | 102 +- trunk/arch/ia64/sn/kernel/xpc_main.c | 1 - trunk/arch/ia64/sn/kernel/xpc_partition.c | 28 +- trunk/arch/ia64/sn/pci/tioce_provider.c | 326 +- trunk/arch/m32r/mm/init.c | 4 +- trunk/arch/m68k/mm/init.c | 2 +- trunk/arch/m68k/mm/memory.c | 2 +- trunk/arch/m68k/mm/motorola.c | 2 +- trunk/arch/m68knommu/kernel/m68k_ksyms.c | 1 + trunk/arch/m68knommu/mm/init.c | 4 +- trunk/arch/mips/arc/memory.c | 2 +- trunk/arch/mips/dec/prom/memory.c | 2 +- trunk/arch/mips/mips-boards/generic/memory.c | 2 +- trunk/arch/mips/mips-boards/sim/sim_mem.c | 2 +- trunk/arch/mips/mm/init.c | 11 +- trunk/arch/mips/sgi-ip27/ip27-memory.c | 2 +- trunk/arch/parisc/mm/init.c | 4 +- trunk/arch/powerpc/mm/hugetlbpage.c | 15 - trunk/arch/powerpc/mm/init_32.c | 4 +- trunk/arch/powerpc/mm/init_64.c | 4 +- trunk/arch/powerpc/mm/mem.c | 6 +- trunk/arch/powerpc/platforms/cell/setup.c | 2 +- trunk/arch/ppc/kernel/dma-mapping.c | 4 +- trunk/arch/ppc/mm/init.c | 6 +- trunk/arch/s390/mm/init.c | 4 +- trunk/arch/sh/mm/consistent.c | 3 +- trunk/arch/sh/mm/hugetlbpage.c | 12 - trunk/arch/sh/mm/init.c | 4 +- trunk/arch/sh64/mm/hugetlbpage.c | 12 - trunk/arch/sh64/mm/init.c | 4 +- trunk/arch/sparc/kernel/sun4d_smp.c | 6 +- trunk/arch/sparc/kernel/sun4m_smp.c | 6 +- trunk/arch/sparc/mm/init.c | 6 +- trunk/arch/sparc64/mm/hugetlbpage.c | 12 - trunk/arch/sparc64/mm/init.c | 4 +- trunk/arch/um/kernel/mem.c | 4 +- trunk/arch/um/kernel/physmem.c | 2 +- trunk/arch/x86_64/kernel/time.c | 2 +- trunk/arch/x86_64/kernel/x8664_ksyms.c | 1 + trunk/arch/x86_64/mm/init.c | 6 +- trunk/arch/x86_64/mm/pageattr.c | 63 +- trunk/arch/xtensa/mm/init.c | 2 +- trunk/arch/xtensa/mm/pgtable.c | 24 +- trunk/drivers/char/snsc.h | 5 +- trunk/drivers/char/snsc_event.c | 32 +- trunk/drivers/char/tb0219.c | 24 +- trunk/drivers/char/vr41xx_giu.c | 19 +- trunk/drivers/char/vr41xx_rtc.c | 30 +- trunk/drivers/char/watchdog/mv64x60_wdt.c | 20 +- trunk/drivers/firmware/dcdbas.c | 110 +- trunk/drivers/md/dm.c | 43 +- trunk/drivers/media/dvb/bt8xx/Makefile | 2 +- trunk/drivers/net/mv643xx_eth.h | 18 +- trunk/drivers/net/pcnet32.c | 4143 +++++++++--------- trunk/drivers/net/skfp/fplustm.c | 12 +- trunk/drivers/net/skge.c | 275 +- trunk/drivers/net/skge.h | 1 - trunk/drivers/net/sky2.c | 583 ++- trunk/drivers/net/sky2.h | 22 +- trunk/drivers/net/smc91x.c | 53 +- trunk/drivers/net/smc91x.h | 474 +- trunk/drivers/scsi/iscsi_tcp.c | 2 +- trunk/drivers/scsi/sg.c | 37 +- trunk/drivers/serial/Kconfig | 2 +- trunk/drivers/serial/serial_txx9.c | 77 +- trunk/drivers/serial/vr41xx_siu.c | 24 +- trunk/drivers/sn/ioc4.c | 41 +- trunk/drivers/video/acornfb.c | 2 +- trunk/drivers/video/i810/i810_main.c | 2 +- trunk/fs/9p/vfs_inode.c | 3 +- trunk/fs/buffer.c | 62 - trunk/fs/hugetlbfs/inode.c | 92 +- trunk/fs/ocfs2/super.c | 2 +- trunk/fs/ramfs/file-nommu.c | 3 +- trunk/fs/xfs/linux-2.6/xfs_buf.c | 1 + trunk/include/asm-i386/acpi.h | 10 +- trunk/include/asm-i386/pgtable.h | 5 +- trunk/include/asm-ia64/intel_intrin.h | 134 +- trunk/include/asm-ia64/machvec.h | 13 + trunk/include/asm-ia64/machvec_sn2.h | 4 +- trunk/include/asm-ia64/mca.h | 2 + trunk/include/asm-ia64/mutex.h | 93 +- trunk/include/asm-ia64/page.h | 2 + trunk/include/asm-ia64/pgtable.h | 5 +- trunk/include/asm-ia64/processor.h | 3 +- trunk/include/asm-ia64/signal.h | 2 - trunk/include/asm-ia64/sn/addrs.h | 8 + trunk/include/asm-ia64/sn/rw_mmr.h | 56 +- trunk/include/asm-ia64/sn/tioce.h | 36 +- trunk/include/asm-ia64/sn/xpc.h | 22 - trunk/include/asm-ia64/system.h | 7 + trunk/include/asm-ia64/thread_info.h | 12 +- trunk/include/asm-powerpc/pgtable.h | 5 - trunk/include/asm-s390/pgalloc.h | 7 - trunk/include/asm-sh64/pgalloc.h | 16 - trunk/include/asm-x86_64/pgtable.h | 4 +- trunk/include/linux/hugetlb.h | 45 +- trunk/include/linux/migrate.h | 36 + trunk/include/linux/mm.h | 48 +- trunk/include/linux/mm_inline.h | 2 +- trunk/include/linux/page-flags.h | 24 +- trunk/include/linux/rtc.h | 4 +- trunk/include/linux/slab.h | 3 +- trunk/include/linux/smp.h | 23 +- trunk/include/linux/swap.h | 38 +- trunk/kernel/fork.c | 6 + trunk/kernel/sched.c | 6 - trunk/kernel/softirq.c | 20 + trunk/lib/string.c | 1 - trunk/mm/Kconfig | 6 + trunk/mm/Makefile | 2 + trunk/mm/filemap.c | 2 + trunk/mm/hugetlb.c | 286 +- trunk/mm/internal.h | 34 +- trunk/mm/memory.c | 21 +- trunk/mm/mempolicy.c | 117 +- trunk/mm/mempool.c | 4 +- trunk/mm/migrate.c | 655 +++ trunk/mm/mmap.c | 10 +- trunk/mm/mprotect.c | 12 +- trunk/mm/nommu.c | 4 +- trunk/mm/page_alloc.c | 113 +- trunk/mm/readahead.c | 32 +- trunk/mm/rmap.c | 14 +- trunk/mm/shmem.c | 7 +- trunk/mm/slab.c | 890 ++-- trunk/mm/swap.c | 64 +- trunk/mm/swap_state.c | 1 + trunk/mm/swapfile.c | 2 +- trunk/mm/vmscan.c | 882 +--- trunk/security/keys/process_keys.c | 7 +- trunk/security/selinux/hooks.c | 14 +- trunk/security/selinux/selinuxfs.c | 112 +- trunk/security/selinux/ss/services.c | 9 +- 176 files changed, 6840 insertions(+), 5528 deletions(-) create mode 100644 trunk/arch/ia64/sn/kernel/pio_phys.S create mode 100644 trunk/include/linux/migrate.h create mode 100644 trunk/mm/migrate.c diff --git a/[refs] b/[refs] index 228053fd15c6..607a732f4d04 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 30afc84cf7325e88fb9746340eba3c161080ff49 +refs/heads/master: 2152f8536668a957ea3214735b4761e7b22ef7d8 diff --git a/trunk/Documentation/networking/e100.txt b/trunk/Documentation/networking/e100.txt index 4ef9f7cd5dc3..944aa55e79f8 100644 --- a/trunk/Documentation/networking/e100.txt +++ b/trunk/Documentation/networking/e100.txt @@ -1,16 +1,17 @@ Linux* Base Driver for the Intel(R) PRO/100 Family of Adapters ============================================================== -November 17, 2004 - +November 15, 2005 Contents ======== - In This Release - Identifying Your Adapter +- Building and Installation - Driver Configuration Parameters - Additional Configurations +- Known Issues - Support @@ -18,18 +19,30 @@ In This Release =============== This file describes the Linux* Base Driver for the Intel(R) PRO/100 Family of -Adapters, version 3.3.x. This driver supports 2.4.x and 2.6.x kernels. +Adapters. This driver includes support for Itanium(R)2-based systems. + +For questions related to hardware requirements, refer to the documentation +supplied with your Intel PRO/100 adapter. + +The following features are now available in supported kernels: + - Native VLANs + - Channel Bonding (teaming) + - SNMP + +Channel Bonding documentation can be found in the Linux kernel source: +/Documentation/networking/bonding.txt + Identifying Your Adapter ======================== -For more information on how to identify your adapter, go to the Adapter & +For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: http://support.intel.com/support/network/adapter/pro100/21397.htm -For the latest Intel network drivers for Linux, refer to the following -website. In the search field, enter your adapter name or type, or use the +For the latest Intel network drivers for Linux, refer to the following +website. In the search field, enter your adapter name or type, or use the networking link on the left to search for your adapter: http://downloadfinder.intel.com/scripts-df/support_intel.asp @@ -40,73 +53,75 @@ Driver Configuration Parameters The default value for each parameter is generally the recommended setting, unless otherwise noted. -Rx Descriptors: Number of receive descriptors. A receive descriptor is a data - structure that describes a receive buffer and its attributes to the network - controller. The data in the descriptor is used by the controller to write - data from the controller to host memory. In the 3.0.x driver the valid - range for this parameter is 64-256. The default value is 64. This parameter - can be changed using the command - +Rx Descriptors: Number of receive descriptors. A receive descriptor is a data + structure that describes a receive buffer and its attributes to the network + controller. The data in the descriptor is used by the controller to write + data from the controller to host memory. In the 3.x.x driver the valid range + for this parameter is 64-256. The default value is 64. This parameter can be + changed using the command: + ethtool -G eth? rx n, where n is the number of desired rx descriptors. -Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a - data structure that describes a transmit buffer and its attributes to the - network controller. The data in the descriptor is used by the controller to - read data from the host memory to the controller. In the 3.0.x driver the - valid range for this parameter is 64-256. The default value is 64. This - parameter can be changed using the command +Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a data + structure that describes a transmit buffer and its attributes to the network + controller. The data in the descriptor is used by the controller to read + data from the host memory to the controller. In the 3.x.x driver the valid + range for this parameter is 64-256. The default value is 64. This parameter + can be changed using the command: ethtool -G eth? tx n, where n is the number of desired tx descriptors. -Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by - default. Ethtool can be used as follows to force speed/duplex. +Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by + default. Ethtool can be used as follows to force speed/duplex. ethtool -s eth? autoneg off speed {10|100} duplex {full|half} NOTE: setting the speed/duplex to incorrect values will cause the link to fail. -Event Log Message Level: The driver uses the message level flag to log events - to syslog. The message level can be set at driver load time. It can also be - set using the command +Event Log Message Level: The driver uses the message level flag to log events + to syslog. The message level can be set at driver load time. It can also be + set using the command: ethtool -s eth? msglvl n + Additional Configurations ========================= Configuring the Driver on Different Distributions ------------------------------------------------- - Configuring a network driver to load properly when the system is started is - distribution dependent. Typically, the configuration process involves adding - an alias line to /etc/modules.conf as well as editing other system startup - scripts and/or configuration files. Many popular Linux distributions ship - with tools to make these changes for you. To learn the proper way to - configure a network device for your system, refer to your distribution - documentation. If during this process you are asked for the driver or module - name, the name for the Linux Base Driver for the Intel PRO/100 Family of - Adapters is e100. + Configuring a network driver to load properly when the system is started is + distribution dependent. Typically, the configuration process involves adding + an alias line to /etc/modules.conf or /etc/modprobe.conf as well as editing + other system startup scripts and/or configuration files. Many popular Linux + distributions ship with tools to make these changes for you. To learn the + proper way to configure a network device for your system, refer to your + distribution documentation. If during this process you are asked for the + driver or module name, the name for the Linux Base Driver for the Intel + PRO/100 Family of Adapters is e100. - As an example, if you install the e100 driver for two PRO/100 adapters - (eth0 and eth1), add the following to modules.conf: + As an example, if you install the e100 driver for two PRO/100 adapters + (eth0 and eth1), add the following to modules.conf or modprobe.conf: alias eth0 e100 alias eth1 e100 Viewing Link Messages --------------------- - In order to see link messages and other Intel driver information on your - console, you must set the dmesg level up to six. This can be done by - entering the following on the command line before loading the e100 driver: + In order to see link messages and other Intel driver information on your + console, you must set the dmesg level up to six. This can be done by + entering the following on the command line before loading the e100 driver: dmesg -n 8 - If you wish to see all messages issued by the driver, including debug + If you wish to see all messages issued by the driver, including debug messages, set the dmesg level to eight. NOTE: This setting is not saved across reboots. + Ethtool ------- @@ -114,29 +129,27 @@ Additional Configurations diagnostics, as well as displaying statistical information. Ethtool version 1.6 or later is required for this functionality. - The latest release of ethtool can be found at: - http://sf.net/projects/gkernel. + The latest release of ethtool can be found from + http://sourceforge.net/projects/gkernel. - NOTE: This driver uses mii support from the kernel. As a result, when - there is no link, ethtool will report speed/duplex to be 10/half. + NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support + for a more complete ethtool feature set can be enabled by upgrading + ethtool to ethtool-1.8.1. - NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support - for a more complete ethtool feature set can be enabled by upgrading - ethtool to ethtool-1.8.1. Enabling Wake on LAN* (WoL) --------------------------- - WoL is provided through the Ethtool* utility. Ethtool is included with Red - Hat* 8.0. For other Linux distributions, download and install Ethtool from - the following website: http://sourceforge.net/projects/gkernel. + WoL is provided through the Ethtool* utility. Ethtool is included with Red + Hat* 8.0. For other Linux distributions, download and install Ethtool from + the following website: http://sourceforge.net/projects/gkernel. - For instructions on enabling WoL with Ethtool, refer to the Ethtool man - page. + For instructions on enabling WoL with Ethtool, refer to the Ethtool man page. WoL will be enabled on the system during the next shut down or reboot. For - this driver version, in order to enable WoL, the e100 driver must be + this driver version, in order to enable WoL, the e100 driver must be loaded when shutting down or rebooting the system. + NAPI ---- @@ -144,6 +157,25 @@ Additional Configurations See www.cyberus.ca/~hadi/usenix-paper.tgz for more information on NAPI. + Multiple Interfaces on Same Ethernet Broadcast Network + ------------------------------------------------------ + + Due to the default ARP behavior on Linux, it is not possible to have + one system on two IP networks in the same Ethernet broadcast domain + (non-partitioned switch) behave as expected. All Ethernet interfaces + will respond to IP traffic for any IP address assigned to the system. + This results in unbalanced receive traffic. + + If you have multiple interfaces in a server, either turn on ARP + filtering by + + (1) entering: echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter + (this only works if your kernel's version is higher than 2.4.5), or + + (2) installing the interfaces in separate broadcast domains (either + in different switches or in a switch partitioned to VLANs). + + Support ======= @@ -151,20 +183,24 @@ For general information, go to the Intel support website at: http://support.intel.com + or the Intel Wired Networking project hosted by Sourceforge at: + + http://sourceforge.net/projects/e1000 + If an issue is identified with the released source code on the supported -kernel with a supported adapter, email the specific information related to -the issue to linux.nics@intel.com. +kernel with a supported adapter, email the specific information related to the +issue to e1000-devel@lists.sourceforge.net. License ======= -This software program is released under the terms of a license agreement -between you ('Licensee') and Intel. Do not use or load this software or any -associated materials (collectively, the 'Software') until you have carefully -read the full terms and conditions of the LICENSE located in this software -package. By loading or using the Software, you agree to the terms of this -Agreement. If you do not agree with the terms of this Agreement, do not -install or use the Software. +This software program is released under the terms of a license agreement +between you ('Licensee') and Intel. Do not use or load this software or any +associated materials (collectively, the 'Software') until you have carefully +read the full terms and conditions of the file COPYING located in this software +package. By loading or using the Software, you agree to the terms of this +Agreement. If you do not agree with the terms of this Agreement, do not install +or use the Software. * Other names and brands may be claimed as the property of others. diff --git a/trunk/Documentation/networking/e1000.txt b/trunk/Documentation/networking/e1000.txt index 2ebd4058d46d..71fe15af356c 100644 --- a/trunk/Documentation/networking/e1000.txt +++ b/trunk/Documentation/networking/e1000.txt @@ -1,7 +1,7 @@ Linux* Base Driver for the Intel(R) PRO/1000 Family of Adapters =============================================================== -November 17, 2004 +November 15, 2005 Contents @@ -20,254 +20,316 @@ In This Release =============== This file describes the Linux* Base Driver for the Intel(R) PRO/1000 Family -of Adapters, version 5.x.x. +of Adapters. This driver includes support for Itanium(R)2-based systems. -For questions related to hardware requirements, refer to the documentation -supplied with your Intel PRO/1000 adapter. All hardware requirements listed +For questions related to hardware requirements, refer to the documentation +supplied with your Intel PRO/1000 adapter. All hardware requirements listed apply to use with Linux. -Native VLANs are now available with supported kernels. +The following features are now available in supported kernels: + - Native VLANs + - Channel Bonding (teaming) + - SNMP + +Channel Bonding documentation can be found in the Linux kernel source: +/Documentation/networking/bonding.txt + +The driver information previously displayed in the /proc filesystem is not +supported in this release. Alternatively, you can use ethtool (version 1.6 +or later), lspci, and ifconfig to obtain the same information. + +Instructions on updating ethtool can be found in the section "Additional +Configurations" later in this document. + Identifying Your Adapter ======================== -For more information on how to identify your adapter, go to the Adapter & +For more information on how to identify your adapter, go to the Adapter & Driver ID Guide at: http://support.intel.com/support/network/adapter/pro100/21397.htm -For the latest Intel network drivers for Linux, refer to the following -website. In the search field, enter your adapter name or type, or use the +For the latest Intel network drivers for Linux, refer to the following +website. In the search field, enter your adapter name or type, or use the networking link on the left to search for your adapter: http://downloadfinder.intel.com/scripts-df/support_intel.asp -Command Line Parameters -======================= -If the driver is built as a module, the following optional parameters are -used by entering them on the command line with the modprobe or insmod command -using this syntax: +Command Line Parameters ======================= + +If the driver is built as a module, the following optional parameters +are used by entering them on the command line with the modprobe or insmod +command using this syntax: modprobe e1000 [