summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* hwmon/f71805f: Add support for "speed mode" fan speed controlJean Delvare2006-12-121-1/+49
| | | | | | | | In "speed mode", the user specifies a target fan speed (in RPM) and the chip automatically adjusts the PWM duty cycle (or DC output level) to reach this target. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/f71805f: Support DC fan speed control modeJean Delvare2006-12-121-3/+43
| | | | | | In DC mode, the pwmN_freq files are not created. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/f71805f: Let the user adjust the PWM base frequencyJean Delvare2006-12-121-1/+62
| | | | | | | Different frequencies can give better results depending on the exact fan model used. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/f71805f: Add manual fan speed controlJean Delvare2006-12-121-1/+144
| | | | | | | | pwmN files are writable only in manual fan speed control mode. In automatic fan speed control modes, they are read-only and report the duty cycle chosen by the chip. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* hwmon/f71805f: Store the fan control registersJean Delvare2006-12-121-11/+15
| | | | | | | | So far we were only extracting the fan skip bit from the fan control registers, but we'll soon need more bits so better store the whole register values. Signed-off-by: Jean Delvare <khali@linux-fr.org>
* Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6Linus Torvalds2006-12-0910-28/+86
|\ | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS [PATCH] i386: Fix io_apic.c warning [PATCH] i386: export smp_num_siblings for oprofile [PATCH] x86: Work around gcc 4.2 over aggressive optimizer [PATCH] x86: Fix boot hang due to nmi watchdog init code [PATCH] x86: Fix verify_quirk_intel_irqbalance() [PATCH] i386: Update defconfig [PATCH] x86-64: Update defconfig
| * [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWSRandy Dunlap2006-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Voyager and Visual WS already define ARCH_SETUP, it looks like PARAVIRT shouldn't be offered for them. In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
| * [PATCH] i386: Fix io_apic.c warningAndi Kleen2006-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | gcc 4.2 warns linux/arch/i386/kernel/io_apic.c: In function ‘create_irq’: linux/arch/i386/kernel/io_apic.c:2488: warning: ‘vector’ may be used uninitialized in this function The warning is false, but somewhat legitimate so work around it. Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] i386: export smp_num_siblings for oprofileRandy Dunlap2006-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | oprofile uses smp_num_siblings without testing for CONFIG_X86_HT. I looked at modifying oprofile, but this way is cleaner & simpler and I didn't see a good reason not to just export it when CONFIG_SMP. WARNING: "smp_num_siblings" [arch/i386/oprofile/oprofile.ko] undefined! Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] x86: Work around gcc 4.2 over aggressive optimizerAndi Kleen2006-12-092-0/+2
| | | | | | | | | | | | | | | | | | | | The new PDA code uses a dummy _proxy_pda variable to describe memory references to the PDA. It is never referenced in inline assembly, but exists as input/output arguments. gcc 4.2 in some cases can CSE references to this which causes unresolved symbols. Define it to zero to avoid this. Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] x86: Fix boot hang due to nmi watchdog init codeRavikiran G Thirumalai2006-12-092-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.19 stopped booting (or booted based on build/config) on our x86_64 systems due to a bug introduced in 2.6.19. check_nmi_watchdog schedules an IPI on all cpus to busy wait on a flag, but fails to set the busywait flag if NMI functionality is disabled. This causes the secondary cpus to spin in an endless loop, causing the kernel bootup to hang. Depending upon the build, the busywait flag got overwritten (stack variable) and caused the kernel to bootup on certain builds. Following patch fixes the bug by setting the busywait flag before returning from check_nmi_watchdog. I guess using a stack variable is not good here as the calling function could potentially return while the busy wait loop is still spinning on the flag. AK: I redid the patch significantly to be cleaner Signed-off-by: Ravikiran Thirumalai <kiran@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] x86: Fix verify_quirk_intel_irqbalance()Andi Kleen2006-12-091-4/+29
| | | | | | | | | | | | | | | | | | | | Fix verify_quirk_intel_irqbalance(). genapic checks should really happen only on affected versions of the E7520/E7320/E7525 based platforms. AK: This should akpm's Coyote SDV Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] i386: Update defconfigAndi Kleen2006-12-091-7/+21
| | | | | | | | Signed-off-by: Andi Kleen <ak@suse.de>
| * [PATCH] x86-64: Update defconfigAndi Kleen2006-12-091-7/+22
| | | | | | | | Signed-off-by: Andi Kleen <ak@suse.de>
* | Merge branch 'drm-patches' of ↵Linus Torvalds2006-12-0915-57/+821
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits) Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 drm: add flag for mapping PCI DMA buffers read-only. drm: fix up irqflags in drm_lock.c drm: i915 updates drm: i915: fix up irqflags arg drm: i915: Only return EBUSY after we've established we need to schedule a new swap. drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap(). drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to. drm: Make handling of dev_priv->vblank_pipe more robust. drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. drm: Core vsync: Don't clobber target sequence number when scheduling signal. drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. drm: Make locked tasklet handling more robust. drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. drm: Change first valid DRM drawable ID to be 1 instead of 0. drm: drawable locking + memory management fixes + copyright drm: Add support for interrupt triggered driver callback with lock held to DRM core. drm: Add support for tracking drawable information to core drm: add support for secondary vertical blank interrupt to i915 ...
| * | Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606Andrew Morton2006-12-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | WARNING: "drm_sman_set_manager" [drivers/char/drm/sis.ko] undefined! Cc: <daniel-silveira@gee.inatel.br> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: add flag for mapping PCI DMA buffers read-only.George Sapountzis2006-12-074-5/+27
| | | | | | | | | | | | | | | | | | | | | Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional flag is needed, since PCI DMA buffers do not have an associated map. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: fix up irqflags in drm_lock.cDave Airlie2006-12-071-1/+1
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915 updates=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-072-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for DRM_VBLANK_NEXTONMISS. Bump minor for swap scheduling ioctl and secondary vblank support. Avoid mis-counting vblank interrupts when they're only enabled for pipe A. Only schedule vblank tasklet if there are scheduled swaps pending. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915: fix up irqflags arg=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-2/+3
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915: Only return EBUSY after we've established we need to schedule a ↵=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-5/+5
| | | | | | | | | | | | | | | | | | new swap. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap().=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-1/+1
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915: Add SAREA fileds for determining which pipe to sync window buffer ↵=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-0/+9
| | | | | | | | | | | | | | | | | | swaps to. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Make handling of dev_priv->vblank_pipe more robust.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initialize it to default value if it hasn't been set by the X server yet. In i915_vblank_pipe_set(), only update dev_priv->vblank_pipe and call i915_enable_interrupt() if the argument passed from userspace is valid to avoid corrupting dev_priv->vblank_pipe on invalid arguments. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-072-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of pipe number. Handle relative as well as absolute target sequence numbers. Return error if target sequence has already passed, so userspace can deal with this situation as it sees fit. On success, return the sequence number of the vertical blank when the buffer swap is expected to take place. Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want to use ioctl() instead of drmCommandWriteRead(). Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-074-0/+211
| | | | | | | | | | | | | | | | | | | | | This uses the core facility to schedule a driver callback that will be called ASAP after the given vertical blank interrupt with the HW lock held. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Core vsync: Don't clobber target sequence number when scheduling signal.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-2/+3
| | | | | | | | | | | | | | | | | | | | | It looks like this would have caused signals to always get sent on the next vertical blank, regardless of the sequence number. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-072-7/+13
| | | | | | | | | | | | | | | | | | | | | When this flag is set and the target sequence is missed, wait for the next vertical blank instead of returning immediately. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Make locked tasklet handling more robust.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-072-2/+3
| | | | | | | | | | | | | | | | | | | | | Initialize the spinlock unconditionally when struct drm_device is filled in, and return early in drm_locked_tasklet() if the driver doesn't support IRQs. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as ↵=?utf-8?q?Felix_K=C3=BChling?=2006-12-071-1/+2
| | | | | | | | | | | | | | | | | | intended. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Change first valid DRM drawable ID to be 1 instead of 0.=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-072-12/+35
| | | | | | | | | | | | | | | | | | | | | | | | This makes it easier for userspace to know when it needs to allocate an ID. Also free drawable information memory when it's no longer needed. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: drawable locking + memory management fixes + copyright=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-071-107/+155
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Add support for interrupt triggered driver callback with lock held to ↵=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-073-0/+90
| | | | | | | | | | | | | | | | | | DRM core. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: Add support for tracking drawable information to core=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-075-8/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually make the existing ioctls for adding and removing drawables do something useful, and add another ioctl for the X server to update drawable information. The only kind of drawable information tracked so far is cliprects. Only reallocate cliprect memory if the number of cliprects changes. Also improve diagnostic output. hook up drm ioctl update draw export drm_get_drawable_info symbol Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: add support for secondary vertical blank interrupt to i915=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-073-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | When the vertical blank interrupt is enabled for both pipes, pipe A is considered primary and pipe B secondary. When it's only enabled for one pipe, it's always considered primary for backwards compatibility. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * | drm: add support for secondary vertical blank interrupt to DRM core=?utf-8?q?Michel_D=C3=A4nzer?=2006-12-074-28/+60
| | | | | | | | | | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* | | [PATCH] WorkStruct: Use direct assignment rather than cmpxchg()David Howells2006-12-091-12/+9
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use direct assignment rather than cmpxchg() as the latter is unavailable and unimplementable on some platforms and is actually unnecessary. The use of cmpxchg() was to guard against two possibilities, neither of which can actually occur: (1) The pending flag may have been unset or may be cleared. However, given where it's called, the pending flag is _always_ set. I don't think it can be unset whilst we're in set_wq_data(). Once the work is enqueued to be actually run, the only way off the queue is for it to be actually run. If it's a delayed work item, then the bit can't be cleared by the timer because we haven't started the timer yet. Also, the pending bit can't be cleared by cancelling the delayed work _until_ the work item has had its timer started. (2) The workqueue pointer might change. This can only happen in two cases: (a) The work item has just been queued to actually run, and so we're protected by the appropriate workqueue spinlock. (b) A delayed work item is being queued, and so the timer hasn't been started yet, and so no one else knows about the work item or can access it (the pending bit protects us). Besides, set_wq_data() _sets_ the workqueue pointer unconditionally, so it can be assigned instead. So, replacing the set_wq_data() with a straight assignment would be okay in most cases. The problem is where we end up tangling with test_and_set_bit() emulated using spinlocks, and even then it's not a problem _provided_ test_and_set_bit() doesn't attempt to modify the word if the bit was set. If that's a problem, then a bitops-proofed assignment will be required - equivalent to atomic_set() vs other atomic_xxx() ops. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Amiga PCMCIA NE2000 Ethernet dev->irq initKars de Jong2006-12-091-1/+2
| | | | | | | | | | | | | | | | Amiga PCMCIA NE2000 Ethernet: Add missing initialization of dev->irq Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] m68k: EXPORT_SYMBOL(cache_{clear,push}) bogus commentGeert Uytterhoeven2006-12-091-2/+2
| | | | | | | | | | | | | | | | Remove bogus comments about unexporting cache_{push,clear}(), as inline dma_cache_maintenance() (used by at least bionet and pamsnet) calls them. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] m68k/Atari: 2.6.18 Atari IDE interrupt needs SA_SHIRQMichael Schmitz2006-12-091-1/+1
| | | | | | | | | | | | | | | | Atari IDE: The interrupt needs SA_SHIRQ now to get registered. Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work againSam Creasey2006-12-095-6/+6
| | | | | | | | | | | | | | | | | | | | Make sun3 scsi drivers compile/work again (though with way too many warnings...) Tested on 3/50, 3/60. Signed-off-by: Sam Creasey <sammy@sammy.net> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Sun3: General updatesSam Creasey2006-12-095-14/+7
| | | | | | | | | | | | | | | | | | General compile fixes for 2.6.16 for sun3, and some updates to make the new bootloader work correctly. Tested on 3/50, 3/60, 3/80. Signed-off-by: Sam Creasey <sammy@sammy.net> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] m68k/HP300: HP LANCE updatesKars de Jong2006-12-092-5/+11
| | | | | | | | | | | | | | | | | | - 7990: request_irq() should have SA_SHIRQ flag set - hplance_init() printed dev->name before register_netdev() had filled it in Signed-off-by: Kars de Jong <jongk@linux-m68k.org> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2006-12-0923-126/+184
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace. [NET_SCHED] sch_htb: turn intermediate classes into leaves [NET_SCHED] sch_cbq: deactivating when grafting, purging etc. [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group. [NET]: Force a cache line split in hh_cache in SMP. [NETPOLL]: make arp replies through netpoll use mac address of sender [NETLINK]: Restore API compatibility of address and neighbour bits [AX.25]: Fix default address and broadcast address initialization. [AX.25]: Constify ax25 utility functions [BNX2]: Add an error check. [NET]: Convert hh_lock to seqlock.
| * | [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace.David S. Miller2006-12-082-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GLIBC uses them etc. They are guarded by ifndef __KERNEL__ so nobody will start accidently using them in the kernel again, it's just for userspace. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NET_SCHED] sch_htb: turn intermediate classes into leavesJarek Poplawski2006-12-081-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | - turn intermediate classes into leaves again when their last child is deleted (struct htb_class changed) Signed-off-by: Jarek Poplawski <jarkao2@o2.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NET_SCHED] sch_cbq: deactivating when grafting, purging etc.Jarek Poplawski2006-12-081-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - deactivating of active classes when q.qlen drops to zero (cbq_drop) - a redundant instruction removed from cbq_deactivate_class PS: probably htb_deactivate in htb_delete and cbq_deactivate_class in cbq_delete are also redundant now. Signed-off-by: Jarek Poplawski <jarkao2@o2.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group.J Hadi Salim2006-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XFRMGRP_REPORT uses 0x10 which is a group that belongs to events. The correct value is 0x20. We should really be using xfrm_nlgroups going forward; it was tempting to delete the definition of XFRMGRP_REPORT but it would break at least iproute2. Signed-off-by: J Hadi Salim <hadi@cyberus.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NET]: Force a cache line split in hh_cache in SMP.Eric Dumazet2006-12-081-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hh_lock was converted from rwlock to seqlock by Stephen. To have a 100% benefit of this change, I suggest to place read mostly fields of hh_cache in a separate cache line, because hh_refcnt may be changed quite frequently on some busy machines. Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | [NETPOLL]: make arp replies through netpoll use mac address of senderNeil Horman2006-12-081-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Back in 2.4 arp requests that were recevied by netpoll were processed in netconsole_receive_skb, where they were responded to using the src mac of the request sender. In the 2.6 kernel arp_reply is responsible for this function, but instead of using the src mac address of the incomming request, the stored mac address that was registered for the netconsole application is used. While this is usually ok, it can lead to failures in netpoll in some situations (specifically situations where a network may have two gateways, as arp requests from one may be responded to using the mac address of the other). This patch reverts the behavior to what we had in 2.4, in which all arp requests are sent back using the src address of the request sender. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Chris Lalancette <clalance@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud