safe/jmp/linux-2.6
19 years ago[PKT_SCHED]: Introduce simple actions.
Jamal Hadi Salim [Mon, 25 Apr 2005 03:10:16 +0000 (20:10 -0700)]
[PKT_SCHED]: Introduce simple actions.

And provide an example simply action in order to
demonstrate usage.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update driver version and release date.
David S. Miller [Mon, 25 Apr 2005 03:06:16 +0000 (20:06 -0700)]
[TG3]: Update driver version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: ENI155P error handling fix
Andrew Morton [Mon, 25 Apr 2005 02:14:36 +0000 (19:14 -0700)]
[ATM]: ENI155P error handling fix

From: Panagiotis Issaris <takis@lumumba.luc.ac.be>

In the ENI155P device driver in six possible failure cases the requested
irq is not being released.

In three of the above possible failure cases additionally there seems to
be a memory leak.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TCP]: skb pcount with MTU discovery
David S. Miller [Mon, 25 Apr 2005 02:12:33 +0000 (19:12 -0700)]
[TCP]: skb pcount with MTU discovery

The problem is that when doing MTU discovery, the too-large segments in
the write queue will be calculated as having a pcount of >1.  When
tcp_write_xmit() is trying to send, tcp_snd_test() fails the cwnd test
when pcount > cwnd.

The segments are eventually transmitted one at a time by keepalive, but
this can take a long time.

This patch checks if TSO is enabled when setting pcount.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SLIP]: Remove redundant NULL pointer checks prior to kfree
Jesper Juhl [Mon, 25 Apr 2005 01:59:30 +0000 (18:59 -0700)]
[SLIP]: Remove redundant NULL pointer checks prior to kfree

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [fore200e] pci doesn't use global board list; use pci_register_driver()
chas williams [Mon, 25 Apr 2005 01:58:15 +0000 (18:58 -0700)]
[ATM]: [fore200e] pci doesn't use global board list; use pci_register_driver()

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [he] Use the DMA_32BIT_MASK constant from dma-mapping.h
chas williams [Mon, 25 Apr 2005 01:55:35 +0000 (18:55 -0700)]
[ATM]: [he] Use the DMA_32BIT_MASK constant from dma-mapping.h

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25] Introduce ax25_type_trans
Arnaldo Carvalho de Melo [Mon, 25 Apr 2005 01:53:06 +0000 (18:53 -0700)]
[AX25] Introduce ax25_type_trans

Replacing the open coded equivalents and making ax25 look more like
a linux network protocol, i.e. more similar to inet.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Ignore PSH on SYN/ACK in TCP connection tracking
Patrick McHardy [Mon, 25 Apr 2005 01:42:39 +0000 (18:42 -0700)]
[NETFILTER]: Ignore PSH on SYN/ACK in TCP connection tracking

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETFILTER]: Fix NAT sequence number adjustment
Patrick McHardy [Mon, 25 Apr 2005 01:41:38 +0000 (18:41 -0700)]
[NETFILTER]: Fix NAT sequence number adjustment

The NAT changes in 2.6.11 changed the position where helpers
are called and perform packet mangling. Before 2.6.11, a NAT
helper was called before the packet was NATed and had its
sequence number adjusted. Since 2.6.11, the helpers get packets
with already adjusted sequence numbers.

This breaks sequence number adjustment, adjust_tcp_sequence()
needs the original sequence number to determine whether
a packet was a retransmission and to store it for further
corrections. It can't be reconstructed without more information
than available, so this patch restores the old order by
calling helpers from a new conntrack hook two priorities
below ip_conntrack_confirm() and adjusting the sequence number
from a new NAT hook one priority below ip_conntrack_confirm().

Tracked down by Phil Oester <kernel@linuxace.com>

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ppc trivial iomem annotations: pmac_smp.c
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[PATCH] ppc trivial iomem annotations: pmac_smp.c

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc trivial iomem annotations: chrp
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[PATCH] ppc trivial iomem annotations: chrp

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc trivial iomem annotations: pmac_time.c
Al Viro [Sun, 24 Apr 2005 21:58:08 +0000 (14:58 -0700)]
[PATCH] ppc trivial iomem annotations: pmac_time.c

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mostek bogus sparse annotations fixed
Al Viro [Sun, 24 Apr 2005 19:28:36 +0000 (12:28 -0700)]
[PATCH] mostek bogus sparse annotations fixed

void * __iomem foo is not a pointer to iomem - it's an iomem variable
containing void *.  A pile of such guys in arch/sparc64/kernel/time.c,
drivers/sbus/char/rtc.c and include/asm-sparc64/mostek.h turned into
intended void __iomem *.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing include in mthca
Al Viro [Sun, 24 Apr 2005 19:28:36 +0000 (12:28 -0700)]
[PATCH] missing include in mthca

Missing include - usual portability problems...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] broken dependency for floppy on ARM
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[PATCH] broken dependency for floppy on ARM

(!ARCH_S390 && !M68K && !IA64 && !UML) is obviously always true on ARM.

Intended behaviour for ARM is "absent unless we are on RiscPC or
EBSA285".  So what we want is added && !ARM in the first term - without
it the last part (|| ARCH_RPC || ARCH_EBSA285, that is) doesn't do
anything.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing include in hisax
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[PATCH] missing include in hisax

Missing include, breaks at least on arm.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] __get_unaligned() turned into macro
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[PATCH] __get_unaligned() turned into macro

Turns __get_unaligned() and __put_unaligned into macros.  That is
definitely safe; leaving them as inlines breaks on e.g.  alpha [try to
build ncpfs there and you'll get unresolved symbols since we end up
getting __get_unaligned() not inlined].

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] broken dependency for I2C_MPC
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[PATCH] broken dependency for I2C_MPC

All boards dealt with by I2C_MPC are 32bit.  Moreover, driver simply
won't build on ppc64 - it uses ppc32-only types all over the place.
Dependency fixed - it's PPC32, not PPC.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] missing dependency on sparc64
Al Viro [Sun, 24 Apr 2005 19:28:35 +0000 (12:28 -0700)]
[PATCH] missing dependency on sparc64

CONFIG_HW_CONSOLE selects vt.c; without the stuff pulled by CONFIG_VT it
will not build.  Normally we get both in drivers/char/Kconfig and there
HW_CONSOLE depends on VT.  sparc64 does not pull drivers/char/Kconfig
and has that sutff in arch/sparc64/Kconfig instead.  However, it forgets
to add the same dependency.  As the result, turning VT off [which is
possible] will end up with broken build.  For no good reason...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] msnd_pinnacle GFP fix
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[PATCH] msnd_pinnacle GFP fix

Dumb typo - __get_free_page() takes gfp mask (in this case -
GFP_KERNEL), not the page size...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mempolicy.c GFP fix
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[PATCH] mempolicy.c GFP fix

zonelist_policy() forgot to mask non-zone bits from gfp when comparing
zone number with policy_zone.

ACKed-by: Andi Kleen <ak@suse.de>
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] SCSI GFP fixes
Al Viro [Sun, 24 Apr 2005 19:28:34 +0000 (12:28 -0700)]
[PATCH] SCSI GFP fixes

Somebody forgot that | has higher priority than ?:.  As the result,
allocation is done with bogus flags - instead of GFP_ATOMIC + possibly
GFP_DMA we always get GFP_DMA and no GFP_ATOMIC.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[IA64] Fix build errors for !HOTPLUG case.
Ashok Raj [Fri, 22 Apr 2005 21:46:24 +0000 (14:46 -0700)]
[IA64] Fix build errors for !HOTPLUG case.

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] cpu hotplug: return offlined cpus to SAL
Ashok Raj [Fri, 22 Apr 2005 21:44:40 +0000 (14:44 -0700)]
[IA64] cpu hotplug: return offlined cpus to SAL

This patch is required to support cpu removal for IPF systems. Existing code
just fakes the real offline by keeping it run the idle thread, and polling
for the bit to re-appear in the cpu_state to get out of the idle loop.

For the cpu-offline to work correctly, we need to pass control of this CPU
back to SAL so it can continue in the boot-rendez mode. This gives the
SAL control to not pick this cpu as the monarch processor for global MCA
events, and addition does not wait for this cpu to checkin with SAL
for global MCA events as well. The handoff is implemented as documented in
SAL specification section 3.2.5.1 "OS_BOOT_RENDEZ to SAL return State"

Signed-off-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] ia32_signal.c: erroneous use of memset/memcpy
Arun Sharma [Fri, 22 Apr 2005 20:06:47 +0000 (13:06 -0700)]
[IA64] ia32_signal.c: erroneous use of memset/memcpy

Found by Alexander Nyberg, improved by Bjorn Helgaas.

- Fix the incorrect argument to sizeof()
- looks like memcpy() code pass was dervived from code that used
  copy_from_user().  But in this case we are doing to kernel space
  to kernel space copy, so memcpy is the right routine, but it
  doesn't return an error code.

Signed-off-by: Arun Sharma <arun.sharma@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[PATCH] x86_64: fix new out of line put_user()
Alexander Nyberg [Fri, 22 Apr 2005 17:22:07 +0000 (10:22 -0700)]
[PATCH] x86_64: fix new out of line put_user()

The labels after the last put_user patch were misplaced so
exceptions on the real mov instructions would not be handled.

Noted by Brian Gerst <bgerst@didntduck.org>

19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6.git
Linus Torvalds [Fri, 22 Apr 2005 17:18:06 +0000 (10:18 -0700)]
Merge /linux/kernel/git/davem/sparc-2.6.git

19 years ago[SPARC64]: In sunsab driver, make sure to set the uart timeout.
David S. Miller [Fri, 22 Apr 2005 05:18:03 +0000 (22:18 -0700)]
[SPARC64]: In sunsab driver, make sure to set the uart timeout.

This breaks serial consoles badly.  Thanks to Eric Brower
for tracking down the problem.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: In sunsu driver, make sure to fully init chip for kbd/ms
David S. Miller [Fri, 22 Apr 2005 05:06:13 +0000 (22:06 -0700)]
[SPARC64]: In sunsu driver, make sure to fully init chip for kbd/ms

We were forgetting to call sunsu_change_speed().  The reason
that replugging in the mouse cable "fixes things" is that
causes a BREAK interrupt which in turn caused a call to
sunsu_change_speed() which would get the chip setup properly.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC]: Provide generic ioctls in Sparc RTC driver.
David S. Miller [Fri, 22 Apr 2005 04:42:34 +0000 (21:42 -0700)]
[SPARC]: Provide generic ioctls in Sparc RTC driver.

Provide support for drivers/char/rtc.c ioctls in the
Mostek rtc driver as well as the Sparc specific RTCGET
and RTCSET.

This allows userspace to be much less messy.  Currently
util-linux and other spots jump through hoops trying
various ioctl variants until it hits the right one whatever
driver actually being used supports.

Eventually all of this should move over to the genrtc.c
driver, but not today...

While we are here, fix up the register types for sparse.

Thanks to Frans Pop for helping point out this issue.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Provide a pgprot_noncached() implementation.
David S. Miller [Fri, 22 Apr 2005 04:41:33 +0000 (21:41 -0700)]
[SPARC64]: Provide a pgprot_noncached() implementation.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[XFRM]: Fix existence lookup in xfrm_state_find
Patrick McHardy [Fri, 22 Apr 2005 03:12:32 +0000 (20:12 -0700)]
[XFRM]: Fix existence lookup in xfrm_state_find

Use 'daddr' instead of &tmpl->id.daddr, since the latter
might be zero.  Also, only perform the lookup when
tmpl->id.spi is non-zero.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add msi test
Michael Chan [Fri, 22 Apr 2005 00:13:59 +0000 (17:13 -0700)]
[TG3]: Add msi test

Add MSI test for chips that support MSI. If MSI test fails, it will
switch back to INTx mode and will print a message asking the user to
report the failure.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add msi support
Michael Chan [Fri, 22 Apr 2005 00:13:25 +0000 (17:13 -0700)]
[TG3]: Add msi support

Add MSI support for 5751 C0 and 5752.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Fix bug in tg3_set_eeprom()
Michael Chan [Fri, 22 Apr 2005 00:12:46 +0000 (17:12 -0700)]
[TG3]: Fix bug in tg3_set_eeprom()

Fix a bug in tg3_set_eeprom() when the length is less than 4 and the
offset is not 4-byte aligned.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add nvram lock-out support for 5752 TPM
Michael Chan [Fri, 22 Apr 2005 00:12:05 +0000 (17:12 -0700)]
[TG3]: Add nvram lock-out support for 5752 TPM

Add support for the NVRAM lock-out feature for TPM in 5752. If lock-out
is enabled, certain NVRAM registers cannot be written to.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add nvram detection for 5752
Michael Chan [Fri, 22 Apr 2005 00:11:21 +0000 (17:11 -0700)]
[TG3]: Add nvram detection for 5752

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Add GPIO3 for 5752
Michael Chan [Fri, 22 Apr 2005 00:10:36 +0000 (17:10 -0700)]
[TG3]: Add GPIO3 for 5752

Add bit definitions for the new GPIO3 in 5752. GPIO3 must be driven as
output when it is unused.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Workaround 5752 A0 chip ID
Michael Chan [Fri, 22 Apr 2005 00:09:53 +0000 (17:09 -0700)]
[TG3]: Workaround 5752 A0 chip ID

The 5752 A0 chip ID is wrong in hardware. The simplest way to workaround
it is to change it to the correct value in tp->pci_chip_rev_id. This
way, it is easier to check for the ASIC_REV_5752 in the rest of the
driver.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Fix tg3_set_power_state()
Michael Chan [Fri, 22 Apr 2005 00:09:08 +0000 (17:09 -0700)]
[TG3]: Fix tg3_set_power_state()

Fix tg3_set_power_state to drive GPIOs properly based on the
TG3_FLAG_EEPROM_WRITE_PROTECT flag. Some delays are also added after D0
and D3 power state changes.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Setup proper GPIO settings
Michael Chan [Fri, 22 Apr 2005 00:07:04 +0000 (17:07 -0700)]
[TG3]: Setup proper GPIO settings

Setup proper GPIO settings in tp->grc_local_ctrl before calling
tg3_set_power() state in tg3_get_invariants() and after chip reset.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Split tg3_phy_probe into 2 functions
Michael Chan [Fri, 22 Apr 2005 00:06:20 +0000 (17:06 -0700)]
[TG3]: Split tg3_phy_probe into 2 functions

Split the 1st half of tg3_phy_probe() into tg3_get_eeprom_hw_cfg() so
that the TG3_FLAG_EEPROM_WRITE_PROT can be determined before calling
tg3_set_power_state() in tg3_get_invariants(). This will allow
tg3_set_power_state() to drive the GPIOs correctly based on the config.
information in eeprom.

On the 5752, there are no pull-up resistors on the GPIO pins and it is
necessary to drive the unused GPIOs as output.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Minor 5752 fixes
Michael Chan [Fri, 22 Apr 2005 00:05:28 +0000 (17:05 -0700)]
[TG3]: Minor 5752 fixes

Some minor 5752 fixes mostly for correctness and add 5752 PHY ID.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: add support for bcm5752 rev a1
John W. Linville [Fri, 22 Apr 2005 00:03:52 +0000 (17:03 -0700)]
[TG3]: add support for bcm5752 rev a1

Replace existing ASIC_REV_5752 definition with ASIC_REV_5752_A0,
and add definition for ASIC_REV_5752_A1. Then, add ASIC_REV_5752_A1
to check for setting TG3_FLG2_5750_PLUS in tg3_get_invariants.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: check TG3_FLG2_5750_PLUS flag to set TG3_FLG2_5705_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:03:18 +0000 (17:03 -0700)]
[TG3]: check TG3_FLG2_5750_PLUS flag to set TG3_FLG2_5705_PLUS flag

Use check of TG3_FLG2_5750_PLUS in tg3_get_invariants to set
TG3_FLG2_5705_PLUS flag.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: use TG3_FLG2_57{05,50}_PLUS flags in tg3_get_invariants
John W. Linville [Fri, 22 Apr 2005 00:02:41 +0000 (17:02 -0700)]
[TG3]: use TG3_FLG2_57{05,50}_PLUS flags in tg3_get_invariants

Rewrite checks in tg3_get_invariants to use TG3_FLG2_5705_PLUS and
TG3_FLG2_5750_PLUS flags.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: more use of TG3_FLG2_5705_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:02:04 +0000 (17:02 -0700)]
[TG3]: more use of TG3_FLG2_5705_PLUS flag

Rewrite of a couple of troublesome multi-way if statements to use
TG3_FLG2_5705_PLUS flag.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: use new TG3_FLG2_5750_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:01:29 +0000 (17:01 -0700)]
[TG3]: use new TG3_FLG2_5750_PLUS flag

Replace a number of two-way if statements checking for 5750, and/or
5752 to reference the newly-defined TG3_FLG2_5750_PLUS flag instead.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: define TG3_FLG2_5750_PLUS flag
John W. Linville [Fri, 22 Apr 2005 00:00:52 +0000 (17:00 -0700)]
[TG3]: define TG3_FLG2_5750_PLUS flag

Define TG3_FLG2_5750_PLUS flag and set it in tg3_get_invariants for
ASIC_REV_5750 or ASIC_REV_5752.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: use TG3_FLG2_5705_PLUS instead of multi-way if's
John W. Linville [Fri, 22 Apr 2005 00:00:02 +0000 (17:00 -0700)]
[TG3]: use TG3_FLG2_5705_PLUS instead of multi-way if's

Replace a number of three-way if statements checking for 5705, 5750,
and 5752 to reference the equivalent TG3_FLG2_5705_PLUS flag instead.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: add bcm5752 entry to pci_ids.h
John W. Linville [Thu, 21 Apr 2005 23:58:56 +0000 (16:58 -0700)]
[TG3]: add bcm5752 entry to pci_ids.h

Add proper entry for bcm5752 PCI ID to pci_ids.h, and use it in tg3.
I did this separately in case patches like this (i.e. new PCI IDs)
need to come from more "official" sources.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: add bcm5752 to tg3_pci_tbl
John W. Linville [Thu, 21 Apr 2005 23:57:50 +0000 (16:57 -0700)]
[TG3]: add bcm5752 to tg3_pci_tbl

Add hard-coded definition of bcm5752 PCI ID to tg3_pci_tbl.
Next patch will change entry to use pci_ids.h-based definition.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: add basic bcm5752 support
John W. Linville [Thu, 21 Apr 2005 23:56:08 +0000 (16:56 -0700)]
[TG3]: add basic bcm5752 support

Add ASIC_REV_5752 definition.

Track-down all references to ASIC_REV_5750 and mirror them with
references to the newly defined ASIC_REV_5752.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: net/atm/resources.c: remove __free_atm_dev
Adrian Bunk [Thu, 21 Apr 2005 23:48:26 +0000 (16:48 -0700)]
[ATM]: net/atm/resources.c: remove __free_atm_dev

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[AX25]: make ax25_queue_xmit a net_device parameter
Arnaldo Carvalho de Melo [Thu, 21 Apr 2005 23:46:56 +0000 (16:46 -0700)]
[AX25]: make ax25_queue_xmit a net_device parameter

I.e. not using skb->dev as a way to pass the parameter used to fill...
skb->dev :-)

Also to get the _type_trans open coded sequence grouped, next changesets
will introduce ax25_type_trans.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: sk_atm() conversion missed subtle change of vcc
Chas Williams [Thu, 21 Apr 2005 23:44:57 +0000 (16:44 -0700)]
[ATM]: sk_atm() conversion missed subtle change of vcc

Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Add missing newline for skb_*_panic
Patrick McHardy [Thu, 21 Apr 2005 23:43:02 +0000 (16:43 -0700)]
[NET]: Add missing newline for skb_*_panic

While we're at it, lets also replace KERN_INFO by KERN_EMERG to
make sure the user gets to see it.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] fix subarch breakage in amd dual core updates
James Bottomley [Thu, 21 Apr 2005 23:20:35 +0000 (16:20 -0700)]
[PATCH] fix subarch breakage in amd dual core updates

The patch to arch/i386/kernel/cpu/amd.c relies on the variable
cpu_core_id which is defined in i386/kernel/smpboot.c.  This means it is
only present if CONFIG_X86_SMP is defined, not CONFIG_SMP (alternative
SMP harnesses won't have it, which is why it breaks voyager).

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix tgafb.c compile failure
Adrian Bunk [Thu, 21 Apr 2005 21:09:42 +0000 (14:09 -0700)]
[PATCH] Fix tgafb.c compile failure

The untested patch below should fix this compile error.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix non-legacy ISO receive regression
Jody McIntyre [Thu, 21 Apr 2005 21:09:42 +0000 (14:09 -0700)]
[PATCH] Fix non-legacy ISO receive regression

Fix non-legacy multichannel ISO receive, broken by Parag Wardukar's
allocation fix.  Multichannel ISO receive still sucks; it should be possible
to use both legacy and non-legacy modes at the same time, but with this
patch, things are no worse than they were in 2.6.11 and allocation is
still done at the correct time.

Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ohci1394: tlabels misprinted in DBGMSG
Jody McIntyre [Thu, 21 Apr 2005 21:09:42 +0000 (14:09 -0700)]
[PATCH] ohci1394: tlabels misprinted in DBGMSG

- Print the correct value in the DBGMSG in dma_rcv_tasklet().
  See OHCI 1.1 section 8.7, page 103 ff.
- Print tlabels as %d everywhere.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jody McIntyre <scjody@steamballoon.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
Linus Torvalds [Thu, 21 Apr 2005 21:02:34 +0000 (14:02 -0700)]
Merge /pub/scm/linux/kernel/git/aegl/linux-2.6.git

19 years ago[PATCH] alpha: key management syscalls
Richard Henderson [Thu, 21 Apr 2005 18:28:26 +0000 (11:28 -0700)]
[PATCH] alpha: key management syscalls

Allocate syscall numbers for add_key, request_key, keyctl.

19 years ago[IA64] fix fls()
David Mosberger-Tang [Thu, 21 Apr 2005 18:07:59 +0000 (11:07 -0700)]
[IA64] fix fls()

The ia64-version of fls() never worked as intended (the bitnumbering
was off by 1 and fls(0) was undefined).  This patch fixes the problem
by using a popcnt-based fls(), which on McKinley-derived cores is
slightly faster than both ia64_fls() and generic_fls().  The resulting
code, however, is bigger (7-8 bundles instead of about 3 bundles).
Also switch ia64_popcnt() to __builtin_popcountl() for GCC v3.4 or
newer since the compiler can predicate that and schedule it better.

Thanks to Simon Derr and Matt Mackall for tracking down this bug.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[PATCH] fix for ISDN ippp filtering
Karsten Keil [Thu, 21 Apr 2005 15:30:30 +0000 (08:30 -0700)]
[PATCH] fix for ISDN ippp filtering

We do not longer use DLT_LINUX_SLL for activ/pass filters but
DLT_PPP_WITHDIRECTION witch need 1 as outbound flag.

Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: Bug in new out of line put_user()
Alexander Nyberg [Thu, 21 Apr 2005 14:59:51 +0000 (07:59 -0700)]
[PATCH] x86_64: Bug in new out of line put_user()

The new out of line put_user() assembly on x86_64 changes %rcx without
telling GCC about it causing things like:

http://bugme.osdl.org/show_bug.cgi?id=4515

See to it that %rcx is not changed (made it consistent with get_user()).

Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: ak@suse.de
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge rsync://rsync.kernel.org/pub/linux/kernel/people/davem/sparc-2.6.git
Linus Torvalds [Thu, 21 Apr 2005 14:36:42 +0000 (07:36 -0700)]
Merge /pub/linux/kernel/people/davem/sparc-2.6.git

19 years ago[PATCH] Fix aic7xxx_osm.c compile with older gcc's
James Bottomley [Thu, 21 Apr 2005 14:35:45 +0000 (07:35 -0700)]
[PATCH] Fix aic7xxx_osm.c compile with older gcc's

My version of gcc doesn't warn about this error (declaration in the
middle of a set of statements).

The fix is simple (this also corrects return code; for init functions it
should be zero or error).

19 years ago[SPARC64]: sparc64 preempt + smp
Al Viro [Thu, 21 Apr 2005 00:12:41 +0000 (17:12 -0700)]
[SPARC64]: sparc64 preempt + smp

PREEMPT+SMP support - see if it looks sane...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agoLinux v2.6.12-rc3 v2.6.12-rc3
Linus Torvalds [Wed, 20 Apr 2005 23:24:21 +0000 (16:24 -0700)]
Linux v2.6.12-rc3

Releasing this will also make "git" the official source control
thing. Here's to hoping for the best.

19 years ago[IPSEC]: COW skb header in UDP decap
Herbert Xu [Wed, 20 Apr 2005 05:48:59 +0000 (22:48 -0700)]
[IPSEC]: COW skb header in UDP decap

The following patch just makes the header part of the skb writeable.
This is needed since we modify the IP headers just a few lines below.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATALK]: Add missing dev_hold() to atrtr_create().
Herbert Xu [Wed, 20 Apr 2005 05:44:17 +0000 (22:44 -0700)]
[ATALK]: Add missing dev_hold() to atrtr_create().

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SOCK]: on failure free the sock from the right place
Arnaldo Carvalho de Melo [Wed, 20 Apr 2005 05:41:54 +0000 (22:41 -0700)]
[SOCK]: on failure free the sock from the right place

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: skbuff: remove old NET_CALLER macro
Stephen Hemminger [Wed, 20 Apr 2005 05:39:42 +0000 (22:39 -0700)]
[NET]: skbuff: remove old NET_CALLER macro

Here is a revised alternative that uses BUG_ON/WARN_ON
(as suggested by Herbert Xu) to eliminate NET_CALLER.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RTNETLINK]: Add comma to final entry in link_rtnetlink_table
David S. Miller [Wed, 20 Apr 2005 05:37:04 +0000 (22:37 -0700)]
[RTNETLINK]: Add comma to final entry in link_rtnetlink_table

Noticed by Herbert Xu.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RTNETLINK]: Protocol family wildcard dumping for routing rules
Thomas Graf [Wed, 20 Apr 2005 05:35:07 +0000 (22:35 -0700)]
[RTNETLINK]: Protocol family wildcard dumping for routing rules

Be kind to userspace and don't force them to hardcode protocol
families just to have it changed again once we support routing
rules for more than one protocol family.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Replace bogus instances of inet->recverr
Herbert Xu [Wed, 20 Apr 2005 05:32:22 +0000 (22:32 -0700)]
[IPV6]: Replace bogus instances of inet->recverr

While looking at this problem I noticed that IPv6 was sometimes
looking at inet->recverr which is bogus.  Here is a patch to
correct that and use np->recverr.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: IPV6_CHECKSUM socket option can corrupt kernel memory
Herbert Xu [Wed, 20 Apr 2005 05:30:14 +0000 (22:30 -0700)]
[IPV6]: IPV6_CHECKSUM socket option can corrupt kernel memory

So here is a patch that introduces skb_store_bits -- the opposite of
skb_copy_bits, and uses them to read/write the csum field in rawv6.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fix a branch prediction
YOSHIFUJI Hideaki [Wed, 20 Apr 2005 05:27:09 +0000 (22:27 -0700)]
[IPV6]: Fix a branch prediction

From: Tushar Gohad <tgohad@mvista.com>

Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Shave sizeof(ptr) bytes off dst_entry
Herbert Xu [Wed, 20 Apr 2005 03:46:37 +0000 (20:46 -0700)]
[NET]: Shave sizeof(ptr) bytes off dst_entry

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] freepgt: remove FIRST_USER_ADDRESS hack
Hugh Dickins [Tue, 19 Apr 2005 20:29:23 +0000 (13:29 -0700)]
[PATCH] freepgt: remove FIRST_USER_ADDRESS hack

Once all the MMU architectures define FIRST_USER_ADDRESS, remove hack from
mmap.c which derived it from FIRST_USER_PGD_NR.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: arch FIRST_USER_ADDRESS 0
Hugh Dickins [Tue, 19 Apr 2005 20:29:23 +0000 (13:29 -0700)]
[PATCH] freepgt: arch FIRST_USER_ADDRESS 0

Replace misleading definition of FIRST_USER_PGD_NR 0 by definition of
FIRST_USER_ADDRESS 0 in all the MMU architectures beyond arm and arm26.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: arm26 FIRST_USER_ADDRESS PAGE_SIZE
Hugh Dickins [Tue, 19 Apr 2005 20:29:22 +0000 (13:29 -0700)]
[PATCH] freepgt: arm26 FIRST_USER_ADDRESS PAGE_SIZE

ARM26 define FIRST_USER_ADDRESS as PAGE_SIZE (beyond the machine vectors when
they are mapped low), and use that definition in place of locally defined
MIN_MAP_ADDR.  Previously, ARM26 permitted user mappings at 0 if the machine
vectors were mapped high; but that's inconsistent with ARM, and
FIRST_USER_ADDRESS would then have to be determined at runtime.  Let's fix it
at PAGE_SIZE throughout the architecture.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: arm FIRST_USER_ADDRESS PAGE_SIZE
Hugh Dickins [Tue, 19 Apr 2005 20:29:21 +0000 (13:29 -0700)]
[PATCH] freepgt: arm FIRST_USER_ADDRESS PAGE_SIZE

ARM define FIRST_USER_ADDRESS as PAGE_SIZE (beyond the machine vectors when
they are mapped low), and use that definition in place of locally defined
MIN_MAP_ADDR.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR
Hugh Dickins [Tue, 19 Apr 2005 20:29:20 +0000 (13:29 -0700)]
[PATCH] freepgt: sys_mincore ignore FIRST_USER_PGD_NR

Remove use of FIRST_USER_PGD_NR from sys_mincore: it's inconsistent (no other
syscall refers to it), unnecessary (sys_mincore loops over vmas further down)
and incorrect (misses user addresses in ARM's first pgd).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: free_pgtables from FIRST_USER_ADDRESS
Hugh Dickins [Tue, 19 Apr 2005 20:29:19 +0000 (13:29 -0700)]
[PATCH] freepgt: free_pgtables from FIRST_USER_ADDRESS

The patches to free_pgtables by vma left problems on any architectures which
leave some user address page table entries unencapsulated by vma.  Andi has
fixed the 32-bit vDSO on x86_64 to use a vma.  Now fix arm (and arm26), whose
first PAGE_SIZE is reserved (perhaps) for machine vectors.

Our calls to free_pgtables must not touch that area, and exit_mmap's
BUG_ON(nr_ptes) must allow that arm's get_pgd_slow may (or may not) have
allocated an extra page table, which its free_pgd_slow would free later.

FIRST_USER_PGD_NR has misled me and others: until all the arches define
FIRST_USER_ADDRESS instead, a hack in mmap.c to derive one from t'other.  This
patch fixes the bugs, the remaining patches just clean it up.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: hugetlb area is clean
Hugh Dickins [Tue, 19 Apr 2005 20:29:18 +0000 (13:29 -0700)]
[PATCH] freepgt: hugetlb area is clean

Once we're strict about clearing away page tables, hugetlb_prefault can assume
there are no page tables left within its range.  Since the other arches
continue if !pte_none here, let i386 do the same.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: mpnt to vma cleanup
Hugh Dickins [Tue, 19 Apr 2005 20:29:18 +0000 (13:29 -0700)]
[PATCH] freepgt: mpnt to vma cleanup

While dabbling here in mmap.c, clean up mysterious "mpnt"s to "vma"s.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: remove arch pgd_addr_end
Hugh Dickins [Tue, 19 Apr 2005 20:29:17 +0000 (13:29 -0700)]
[PATCH] freepgt: remove arch pgd_addr_end

ia64 and sparc64 hurriedly had to introduce their own variants of
pgd_addr_end, to leapfrog over the holes in their virtual address spaces which
the final clear_page_range suddenly presented when converted from pgd_index to
pgd_addr_end.  But now that free_pgtables respects the vma list, those holes
are never presented, and the arch variants can go.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: hugetlb_free_pgd_range
Hugh Dickins [Tue, 19 Apr 2005 20:29:16 +0000 (13:29 -0700)]
[PATCH] freepgt: hugetlb_free_pgd_range

ia64 and ppc64 had hugetlb_free_pgtables functions which were no longer being
called, and it wasn't obvious what to do about them.

The ppc64 case turns out to be easy: the associated tables are noted elsewhere
and freed later, safe to either skip its hugetlb areas or go through the
motions of freeing nothing.  Since ia64 does need a special case, restore to
ppc64 the special case of skipping them.

The ia64 hugetlb case has been broken since pgd_addr_end went in, though it
probably appeared to work okay if you just had one such area; in fact it's
been broken much longer if you consider a long munmap spanning from another
region into the hugetlb region.

In the ia64 hugetlb region, more virtual address bits are available than in
the other regions, yet the page tables are structured the same way: the page
at the bottom is larger.  Here we need to scale down each addr before passing
it to the standard free_pgd_range.  Was about to write a hugely_scaled_down
macro, but found htlbpage_to_page already exists for just this purpose.  Fixed
off-by-one in ia64 is_hugepage_only_range.

Uninline free_pgd_range to make it available to ia64.  Make sure the
vma-gathering loop in free_pgtables cannot join a hugepage_only_range to any
other (safe to join huges?  probably but don't bother).

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: remove MM_VM_SIZE(mm)
Hugh Dickins [Tue, 19 Apr 2005 20:29:15 +0000 (13:29 -0700)]
[PATCH] freepgt: remove MM_VM_SIZE(mm)

There's only one usage of MM_VM_SIZE(mm) left, and it's a troublesome macro
because mm doesn't contain the (32-bit emulation?) info needed.  But it too is
only needed because we ignore the end from the vma list.

We could make flush_pgtables return that end, or unmap_vmas.  Choose the
latter, since it's a natural fit with unmap_mapping_range_vma needing to know
its restart addr.  This does make more than minimal change, but if unmap_vmas
had returned the end before, this is how we'd have done it, rather than
storing the break_addr in zap_details.

unmap_vmas used to return count of vmas scanned, but that's just debug which
hasn't been useful in a while; and if we want the map_count 0 on exit check
back, it can easily come from the final remove_vm_struct loop.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] freepgt: free_pgtables use vma list
Hugh Dickins [Tue, 19 Apr 2005 20:29:15 +0000 (13:29 -0700)]
[PATCH] freepgt: free_pgtables use vma list

Recent woes with some arches needing their own pgd_addr_end macro; and 4-level
clear_page_range regression since 2.6.10's clear_page_tables; and its
long-standing well-known inefficiency in searching throughout the higher-level
page tables for those few entries to clear and free: all can be blamed on
ignoring the list of vmas when we free page tables.

Replace exit_mmap's clear_page_range of the total user address space by
free_pgtables operating on the mm's vma list; unmap_region use it in the same
way, giving floor and ceiling beyond which it may not free tables.  This
brings lmbench fork/exec/sh numbers back to 2.6.10 (unless preempt is enabled,
in which case latency fixes spoil unmap_vmas throughput).

Beware: the do_mmap_pgoff driver failure case must now use unmap_region
instead of zap_page_range, since a page table might have been allocated, and
can only be freed while it is touched by some vma.

Move free_pgtables from mmap.c to memory.c, where its lower levels are adapted
from the clear_page_range levels.  (Most of free_pgtables' old code was
actually for a non-existent case, prev not properly set up, dating from before
hch gave us split_vma.) Pass mmu_gather** in the public interfaces, since we
might want to add latency lockdrops later; but no attempt to do so yet, going
by vma should itself reduce latency.

But what if is_hugepage_only_range?  Those ia64 and ppc64 cases need careful
examination: put that off until a later patch of the series.

What of x86_64's 32bit vdso page __map_syscall32 maps outside any vma?

And the range to sparc64's flush_tlb_pgtables?  It's less clear to me now that
we need to do more than is done here - every PMD_SIZE ever occupied will be
flushed, do we really have to flush every PGDIR_SIZE ever partially occupied?
A shame to complicate it unnecessarily.

Special thanks to David Miller for time spent repairing my ceilings.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge with kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6.git/
Linus Torvalds [Tue, 19 Apr 2005 20:14:28 +0000 (13:14 -0700)]
Merge ... /linux/kernel/git/gregkh/driver-2.6.git/

for 13 driver core, sysfs, and debugfs fixes.

19 years agoMerge with kernel.org:/pub/scm/linux/kernel/git/gregkh/aoe-2.6.git/
Linus Torvalds [Tue, 19 Apr 2005 20:12:03 +0000 (13:12 -0700)]
Merge ... /linux/kernel/git/gregkh/aoe-2.6.git/

for 11 aoe bugfix patches.

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6.git/
Linus Torvalds [Tue, 19 Apr 2005 14:31:40 +0000 (07:31 -0700)]
Merge /linux/kernel/git/gregkh/i2c-2.6.git/

19 years agoMerge with Greg's USB tree at kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6...
Linus Torvalds [Tue, 19 Apr 2005 14:28:57 +0000 (07:28 -0700)]
Merge ... Greg's USB tree at /linux/kernel/git/gregkh/usb-2.6.git/

Yah, it does work to merge. Knock wood.

19 years ago[PATCH] aoe 12/12: send outgoing packets in order
ecashin@coraid.com [Tue, 19 Apr 2005 05:00:22 +0000 (22:00 -0700)]
[PATCH] aoe 12/12: send outgoing packets in order

I can't use list.h, since sk_buff doesn't have a list_head but instead
has two struct sk_buff pointers, and I want to avoid any extra memory
allocation.

send outgoing packets in order

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] aoe 11/12: add support for disk statistics
ecashin@coraid.com [Tue, 19 Apr 2005 05:00:22 +0000 (22:00 -0700)]
[PATCH] aoe 11/12: add support for disk statistics

add support for disk statistics

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] aoe 9/12: add note about the need for deadlock-free sk_buff allocation
ecashin@coraid.com [Tue, 19 Apr 2005 05:00:21 +0000 (22:00 -0700)]
[PATCH] aoe 9/12: add note about the need for deadlock-free sk_buff allocation

add note about the need for deadlock-free sk_buff allocation

Signed-off-by: Ed L. Cashin <ecashin@coraid.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>