Re: [ofa-general] [PATCH 2/2] ib fmr pool: flush used clean entries

2008-02-26 Thread Roland Dreier
This looks like a really nice approach to me.  Olaf?

 - R.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Intel 945GM: 2.6.25-rc3 report (with a possible regression)

2008-02-26 Thread Romano Giannetti

Hi,

this mail is to give feedback about the 2.6.25-rc3 kernel, on an Ubuntu
7.10 system, running on a Toshiba Satellite U305. Video is a Intel
845GM, and I run 915resolution at start to make X happy with the correct
widescreen resolution. 

A lot of data is collected here (if more is needed, tell me):
http://www.dea.icai.upcomillas.es/romano/linux/info/

1) The minor regression is that I cannot have any more a correct
console. I tried a lot of combinations, but without a framebuffer,
console is garbled by ubuntu splash and/or X. With the .config copied in
the site above, I do not have console (a random pattern appears as I
switch consoles). With intelfb framebuffer, sometime it works, sometime
it doesn't work, and everytime break resume from STR. (I mean, the
laptop seems to resume, but the screen is blank).

I have a doubt about this: is it possible that some state is maintained
across reboots? Because sometime two reboots in a row led to different
results; for example, after following 
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/147606

I had a nice console, but after the failed resume and a sysrq-b reboot,
no console again. 

2) LCD/CRT switch. It's the first time I tried it, so no idea if it ever
worked. Without a CRT connected, nothing happens pressing the key
combination (fn-F5), correctly. When I connected a overhead proyector
(CRT), pressed fn-F5, and the LCD went off and the CRT on (ok); after
that the LCD never came on again. pressing again fn-f5 two times lead to
a all-off, a third time made the CRT switch on, and again. The laptop is
working but the LCD stay black till the next reboot. (It is very similar
to what seems to happen after resume).

3) on the nice side of things, it seems that now echo mem
> /sys/power/state works (at least in X, I do not have a console to test
it...).

Thank you very much, 
Romano 

-- 
Sorry for the disclaimer --- ¡I cannot stop it!



--
La presente comunicación tiene carácter confidencial y es para el exclusivo uso 
del destinatario indicado en la misma. Si Ud. no es el destinatario indicado, 
le informamos que cualquier forma de distribución, reproducción o uso de esta 
comunicación y/o de la información contenida en la misma están estrictamente 
prohibidos por la ley. Si Ud. ha recibido esta comunicación por error, por 
favor, notifíquelo inmediatamente al remitente contestando a este mensaje y 
proceda a continuación a destruirlo. Gracias por su colaboración.

This communication contains confidential information. It is for the exclusive 
use of the intended addressee. If you are not the intended addressee, please 
note that any form of distribution, copying or use of this communication or the 
information in it is strictly prohibited by law. If you have received this 
communication in error, please immediately notify the sender by reply e-mail 
and destroy this message. Thank you for your cooperation. 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6 patch v2] cris: proper defconfig setup

2008-02-26 Thread Adrian Bunk
On Tue, Feb 26, 2008 at 08:58:02PM +0100, Sam Ravnborg wrote:
> > 
> > Please name the tools that are that broken that they wouldn't apply this 
> > patch correctly and don't claim my patch was broken (or shut up).
> 
> It is only one or two weeks ago we ended up with a zero size file
> in the kernel tree - and I do not know why.
> I just wanted to make sure we did not see this happen again.

Then research first what went wrong in this case.

But it is not funny when you wrongly accuse me publically of sending 
patches that would remove files in an incorrect way.

>   Sam

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.25-rc1 xen pvops regression

2008-02-26 Thread Jeremy Fitzhardinge

Mark McLoughlin wrote:

@@ -371,6 +372,9 @@ void __init dmi_scan_machine(void)
}
}
else {
+   if (e820_all_mapped(0xF, 0xF+0x1, E820_RAM))
+   goto out;



One issue with using the e820 map for this is that a Xen Dom0 will also
have this region marked as RAM in the e820 map, but will set up a fixmap
for it, allowing dmi_scan_machine() to map the region.
  


Would it be easier to just fake up a mapping so that window points to 
the real dmi area, and mark E820 accordingly?


   J
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [xfs-masters] Re: filesystem corruption on xfs after 2.6.25-rc1 (bisected, powerpc related?)

2008-02-26 Thread Eric Sandeen
Gaudenz Steinlin wrote:
> On Tue, Feb 26, 2008 at 01:13:56AM +0100, Rafael J. Wysocki wrote:
>> On Tuesday, 26 of February 2008, Christoph Hellwig wrote:
>>> On Tue, Feb 26, 2008 at 12:52:56AM +0100, Rafael J. Wysocki wrote:
> I'm not suggesting a partial revert; I just wonder which part of the
> change is causing the problem, as part of the debugging process.
> 
> I debuged this a bit further by testing the 4 changed functions
> individually. The problem only occurs with the new version of
> xfs_lowbit64. 

FWIW, Dave & I did some testing/debugging on 32-bit powerpc, and it is
indeed only xfs_lowbit64 which is doing the wrong thing on that arch,
because generic find_next_bit is doing the wrong thing on big-endian
32-bit systems, for sizes > 32 bits, near as I can tell.

Rather than reverting it all, I think just changing xfs_lowbit64 back to:

int
xfs_lowbit64(
   __uint64_t  v)
{
   __uint32_t  w = (__uint32_t)v;
   int n = 0;

   if (w) {/* lower bits */
   n = ffs(w);
   } else {/* upper bits */
   w = (__uint32_t)(v >> 32);
   if (w && (n = ffs(w)))
   n += 32;
   }
   return n - 1;
}

for now should fix it (this is essentially just ffs64())

-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Is there a memory block device?

2008-02-26 Thread Sven-Haegar Koch
On Tue, 26 Feb 2008, rzryyvzy wrote:

> I know that tmpfs is a memmory filesystem. Is there a possibility to 
> create also a memory block device?
> Is there a possibility to create for example a 1 GB memory block device 
> (from the RAM)?

There are the /dev/ram* devices, created through kernel config 
CONFIG_BLK_DEV_RAM (RAM disk support), kernel module rd.ko

But I'm not sure how to configure their size besides setting the kernel 
config option, it's a long time ago that I used them last.

c'ya
sven

-- 

The Internet treats censorship as a routing problem, and routes around
it. (John Gilmore on http://www.cygnus.com/~gnu/)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: vSMP selection in config

2008-02-26 Thread Sam Ravnborg
On Sun, Feb 24, 2008 at 10:43:49PM -0800, Yinghai Lu wrote:
> 
> find out vSMP setting is going away in config after make oldconfig
> 
> vSMP need to PARAVIRT and PCI.
> so move PARAVIRT out of if PARAVIRT_GUEST, and make vSMP select PCI instead of
> depends on PCI
> 
> after patch vSMP could stick there.

I'm certain that we have hit a Kconfig bug / limitation here and
the patch below is just a workaround for that issue.

I tracked it down to a minimal case and hope Roman can provide
either an explanation or a fix.

IMO VSMP can wait until this is resolved properly and we should not
apply this patch.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] mmiotrace full patch, preview 1

2008-02-26 Thread Pekka Paalanen
On Mon, 25 Feb 2008 14:49:22 -0800
Andrew Morton <[EMAIL PROTECTED]> wrote:

> Please feed the diff through scritps/checkpatch.pl and consider addressing
> the things which it finds.

I checked that, but I didn't think any of them were worth fixing. And
since this is a work in progress and a in a state which I do not want
committed yet, I did not sign this patch. mmio-mod.c is still a mess.

> WARNING: Use of volatile is usually wrong: see 
> Documentation/volatile-considered-harmful.txt
> #1097: FILE: arch/x86/mm/mmio-mod.c:437:
> +void iounmap_trace(volatile void __iomem *addr)

I believe the 'volatile' belongs here, it is also in the declaration of
iounmap() in arch/x86/mm/ioremap.c.

> WARNING: externs should be avoided in .c files
> #1766: FILE: arch/x86/mm/testmmiotrace.c:7:
> +extern void __iomem *ioremap_nocache_trace(unsigned long offset,
> 
> WARNING: Use of volatile is usually wrong: see 
> Documentation/volatile-considered-harmful.txt
> #1768: FILE: arch/x86/mm/testmmiotrace.c:9:
> +extern void iounmap_trace(volatile void __iomem *addr);
> 
> WARNING: externs should be avoided in .c files
> #1768: FILE: arch/x86/mm/testmmiotrace.c:9:
> +extern void iounmap_trace(volatile void __iomem *addr);

These are all in testmmiotrace.c which calls the traced ioremap
functions directly. These direct calls will go away and it will
call the normal ioremap functions.

> WARNING: Use of volatile is usually wrong: see 
> Documentation/volatile-considered-harmful.txt
> #1790: FILE: arch/x86/mm/testmmiotrace.c:31:
> +   volatile unsigned int v;

Since testmmiotrace does not use v for anything other than return value
of ioread8/16/32(), I wanted to prevent the compiler from optimizing
it away. Now thinking it again, ioread*() must guarantee that the read
is always executed. I'll remove v altogether.

Patch for the other issues you mentioned is brewing.


Thanks.

-- 
Pekka Paalanen
http://www.iki.fi/pq/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.25-rc2 regression in rt61pci wireless driver

2008-02-26 Thread John W. Linville
On Tue, Feb 26, 2008 at 07:11:39PM +, Chris Clayton wrote:

> Sorry, but that's not the case. I find the same results as without the 
> patches. With the parameter set to 'pid', the network connection fails very 
> quickly, but with it set to 'simple' I can ping and ftp files to and from my 
> laptop as much as I like and the connection stays up. In fact, if anything 
> the patches seem to have made the network even more fragile, in that it fails 
> almost instantly once I start some network activity ( < 10 pings).
> 
> I'm sure this is not the hardware - it works perfectly with Windows XP, with 
> 2.6.23.14 plus the out-of-tree rt61 driver from serialmonkey, with the 
> in-tree driver from 2.6.24.x and with 2.6.25-rc3 with the mac82011's 
> ieee80211_default_rc_algo parameter set to 'simple'.

At last!  Vindication for insisting that we keep 'simple' around!
Bwahahaha! :-)

So, am I to understand that 'pid' works find for you with rtl8180?
If so, then I wonder if Stefano and Ivo can help us figure-out
what kind of problem is sensitive to both driver _and_ rate control
algorithm?

Thanks,

John
-- 
John W. Linville
[EMAIL PROTECTED]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6 patch v2] cris: proper defconfig setup

2008-02-26 Thread Sam Ravnborg
> 
> Please name the tools that are that broken that they wouldn't apply this 
> patch correctly and don't claim my patch was broken (or shut up).

It is only one or two weeks ago we ended up with a zero size file
in the kernel tree - and I do not know why.
I just wanted to make sure we did not see this happen again.

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[2.6 patch] m32r: use KBUILD_DEFCONFIG

2008-02-26 Thread Adrian Bunk
With using KBUILD_DEFCONFIG we don't have to ship a second copy of
m32700ut.smp_defconfig

Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

---

 arch/m32r/Makefile  |2 
 arch/m32r/defconfig |  863 
 2 files changed, 2 insertions(+), 863 deletions(-)

c1797789816e8d79133d63da3578705f47cedbd3 diff --git a/arch/m32r/Makefile 
b/arch/m32r/Makefile
index 4072a07..469766b 100644
--- a/arch/m32r/Makefile
+++ b/arch/m32r/Makefile
@@ -5,6 +5,8 @@
 # architecture-specific flags and dependencies.
 #
 
+KBUILD_DEFCONFIG := m32700ut.smp_defconfig
+
 LDFLAGS:=
 OBJCOPYFLAGS   := -O binary -R .note -R .comment -S
 LDFLAGS_vmlinux:=
diff --git a/arch/m32r/defconfig b/arch/m32r/defconfig
deleted file mode 100644
index af3b981..000
--- a/arch/m32r/defconfig
+++ /dev/null
@@ -1,863 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc1
-# Wed Aug  1 17:22:35 2007
-#
-CONFIG_M32R=y
-CONFIG_GENERIC_ISA_DMA=y
-CONFIG_ZONE_DMA=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_NO_IOPORT=y
-CONFIG_NO_DMA=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_LOCK_KERNEL=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-# CONFIG_POSIX_MQUEUE is not set
-CONFIG_BSD_PROCESS_ACCT=y
-# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-# CONFIG_TASKSTATS is not set
-# CONFIG_USER_NS is not set
-# CONFIG_AUDIT is not set
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=15
-# CONFIG_CPUSETS is not set
-CONFIG_SYSFS_DEPRECATED=y
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_SYSCTL=y
-CONFIG_EMBEDDED=y
-CONFIG_SYSCTL_SYSCALL=y
-# CONFIG_KALLSYMS is not set
-CONFIG_HOTPLUG=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-# CONFIG_FUTEX is not set
-CONFIG_ANON_INODES=y
-# CONFIG_EPOLL is not set
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLAB=y
-# CONFIG_SLUB is not set
-# CONFIG_SLOB is not set
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-CONFIG_STOP_MACHINE=y
-CONFIG_BLOCK=y
-# CONFIG_LBD is not set
-# CONFIG_BLK_DEV_IO_TRACE is not set
-# CONFIG_LSF is not set
-# CONFIG_BLK_DEV_BSG is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_DEFAULT_AS is not set
-# CONFIG_DEFAULT_DEADLINE is not set
-CONFIG_DEFAULT_CFQ=y
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="cfq"
-
-#
-# Processor type and features
-#
-# CONFIG_PLAT_MAPPI is not set
-# CONFIG_PLAT_USRV is not set
-CONFIG_PLAT_M32700UT=y
-# CONFIG_PLAT_OPSPUT is not set
-# CONFIG_PLAT_OAKS32R is not set
-# CONFIG_PLAT_MAPPI2 is not set
-# CONFIG_PLAT_MAPPI3 is not set
-# CONFIG_PLAT_M32104UT is not set
-CONFIG_CHIP_M32700=y
-# CONFIG_CHIP_M32102 is not set
-# CONFIG_CHIP_M32104 is not set
-# CONFIG_CHIP_VDEC2 is not set
-# CONFIG_CHIP_OPSP is not set
-CONFIG_MMU=y
-CONFIG_TLB_ENTRIES=32
-CONFIG_ISA_M32R2=y
-CONFIG_ISA_DSP_LEVEL2=y
-CONFIG_ISA_DUAL_ISSUE=y
-CONFIG_BUS_CLOCK=5000
-CONFIG_TIMER_DIVIDE=128
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_MEMORY_START=0x0800
-CONFIG_MEMORY_SIZE=0x0100
-CONFIG_NOHIGHMEM=y
-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
-CONFIG_SELECT_MEMORY_MODEL=y
-# CONFIG_FLATMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM_MANUAL=y
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_DISCONTIGMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-CONFIG_NEED_MULTIPLE_NODES=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-CONFIG_IRAM_START=0x00f0
-CONFIG_IRAM_SIZE=0x0008
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-CONFIG_PREEMPT=y
-CONFIG_SMP=y
-# CONFIG_CHIP_M32700_TS1 is not set
-CONFIG_NR_CPUS=2
-CONFIG_NODES_SHIFT=1
-
-#
-# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
-#
-# CONFIG_ARCH_SUPPORTS_MSI is not set
-# CONFIG_ISA is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is 

[2.6 patch] m68k: use KBUILD_DEFCONFIG

2008-02-26 Thread Adrian Bunk
The default defconfig should be one from arch/m68k/configs/

arch/m68k/defconfig was not exactly identical to amiga_defconfig but 
also considering how long they have been without any update that doesn't 
seem to have been on purpose.

Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

---

 arch/m68k/Makefile  |2 
 arch/m68k/defconfig |  657 
 2 files changed, 2 insertions(+), 657 deletions(-)

f52a66f85069cc79c30b0c9520713bbba6cfc20d diff --git a/arch/m68k/Makefile 
b/arch/m68k/Makefile
index 2cba605..b15173f 100644
--- a/arch/m68k/Makefile
+++ b/arch/m68k/Makefile
@@ -13,6 +13,8 @@
 # Copyright (C) 1994 by Hamish Macdonald
 #
 
+KBUILD_DEFCONFIG := amiga_defconfig
+
 # override top level makefile
 AS += -m68020
 LDFLAGS := -m m68kelf
diff --git a/arch/m68k/defconfig b/arch/m68k/defconfig
deleted file mode 100644
index 7d935e4..000
--- a/arch/m68k/defconfig
+++ /dev/null
@@ -1,657 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.12-rc6-m68k
-# Tue Jun  7 20:34:17 2005
-#
-CONFIG_M68K=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-# CONFIG_HOTPLUG is not set
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-# CONFIG_EMBEDDED is not set
-CONFIG_KALLSYMS=y
-# CONFIG_KALLSYMS_EXTRA_PASS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=0
-
-#
-# Loadable module support
-#
-# CONFIG_MODULES is not set
-
-#
-# Platform dependent setup
-#
-# CONFIG_SUN3 is not set
-CONFIG_AMIGA=y
-# CONFIG_ATARI is not set
-# CONFIG_MAC is not set
-# CONFIG_APOLLO is not set
-# CONFIG_VME is not set
-# CONFIG_HP300 is not set
-# CONFIG_SUN3X is not set
-# CONFIG_Q40 is not set
-
-#
-# Processor type
-#
-CONFIG_M68020=y
-CONFIG_M68030=y
-CONFIG_M68040=y
-# CONFIG_M68060 is not set
-CONFIG_MMU_MOTOROLA=y
-# CONFIG_M68KFPU_EMU is not set
-# CONFIG_ADVANCED is not set
-
-#
-# General setup
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_BINFMT_AOUT=y
-# CONFIG_BINFMT_MISC is not set
-CONFIG_ZORRO=y
-# CONFIG_AMIGA_PCMCIA is not set
-# CONFIG_HEARTBEAT is not set
-CONFIG_PROC_HARDWARE=y
-# CONFIG_ZORRO_NAMES is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-# CONFIG_MTD is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-CONFIG_AMIGA_FLOPPY=y
-# CONFIG_AMIGA_Z2RAM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=4096
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CDROM_PKTCDVD=y
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-CONFIG_IOSCHED_AS=y
-CONFIG_IOSCHED_DEADLINE=y
-CONFIG_IOSCHED_CFQ=y
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=y
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=y
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-# CONFIG_CHR_DEV_SG is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-CONFIG_SCSI_CONSTANTS=y
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_DEBUG is not set
-CONFIG_A3000_SCSI=y
-CONFIG_A2091_SCSI=y
-CONFIG_GVP11_SCSI=y
-# CONFIG_CYBERSTORM_SCSI is not set
-# CONFIG_CYBERSTORMII_SCSI is not set
-# CONFIG_BLZ2060_SCSI is not set
-# CONFIG_BLZ1230_SCSI is not set
-# CONFIG_FASTLANE_SCSI is not set
-# CONFIG_OKTAGON_SCSI is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-
-#
-# IEEE 1394 (FireWire) support
-#
-
-#
-# I2O device support
-#
-
-#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_

[2.6 patch] mips: use KBUILD_DEFCONFIG

2008-02-26 Thread Adrian Bunk
With KBUILD_DEFCONFIG we don't have to ship a second copy of 
ip22_defconfig

Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

---

 arch/mips/Makefile  |2 
 arch/mips/defconfig | 1158 
 2 files changed, 2 insertions(+), 1158 deletions(-)

57da2fa4b7e8c035c8317e8796ca6d2ea17c1d1f diff --git a/arch/mips/Makefile 
b/arch/mips/Makefile
index 001c017..93ef27b 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -12,6 +12,8 @@
 # for "archclean" cleaning up for this architecture.
 #
 
+KBUILD_DEFCONFIG := ip22_defconfig
+
 cflags-y :=
 
 #
diff --git a/arch/mips/defconfig b/arch/mips/defconfig
deleted file mode 100644
index 4f5e56c..000
--- a/arch/mips/defconfig
+++ /dev/null
@@ -1,1158 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.23-rc2
-# Tue Aug  7 12:39:49 2007
-#
-CONFIG_MIPS=y
-
-#
-# Machine selection
-#
-CONFIG_ZONE_DMA=y
-# CONFIG_MACH_ALCHEMY is not set
-# CONFIG_BASLER_EXCITE is not set
-# CONFIG_MIPS_COBALT is not set
-# CONFIG_MACH_DECSTATION is not set
-# CONFIG_MACH_JAZZ is not set
-# CONFIG_LEMOTE_FULONG is not set
-# CONFIG_MIPS_ATLAS is not set
-# CONFIG_MIPS_MALTA is not set
-# CONFIG_MIPS_SEAD is not set
-# CONFIG_MIPS_SIM is not set
-# CONFIG_MARKEINS is not set
-# CONFIG_MACH_VR41XX is not set
-# CONFIG_PNX8550_JBS is not set
-# CONFIG_PNX8550_STB810 is not set
-# CONFIG_PMC_MSP is not set
-# CONFIG_PMC_YOSEMITE is not set
-CONFIG_SGI_IP22=y
-# CONFIG_SGI_IP27 is not set
-# CONFIG_SGI_IP32 is not set
-# CONFIG_SIBYTE_CRHINE is not set
-# CONFIG_SIBYTE_CARMEL is not set
-# CONFIG_SIBYTE_CRHONE is not set
-# CONFIG_SIBYTE_RHONE is not set
-# CONFIG_SIBYTE_SWARM is not set
-# CONFIG_SIBYTE_LITTLESUR is not set
-# CONFIG_SIBYTE_SENTOSA is not set
-# CONFIG_SIBYTE_BIGSUR is not set
-# CONFIG_SNI_RM is not set
-# CONFIG_TOSHIBA_JMR3927 is not set
-# CONFIG_TOSHIBA_RBTX4927 is not set
-# CONFIG_TOSHIBA_RBTX4938 is not set
-# CONFIG_WR_PPMC is not set
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_TIME=y
-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
-# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
-CONFIG_ARC=y
-CONFIG_DMA_NONCOHERENT=y
-CONFIG_DMA_NEED_PCI_MAP_STATE=y
-CONFIG_EARLY_PRINTK=y
-CONFIG_SYS_HAS_EARLY_PRINTK=y
-# CONFIG_NO_IOPORT is not set
-CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
-CONFIG_CPU_BIG_ENDIAN=y
-# CONFIG_CPU_LITTLE_ENDIAN is not set
-CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
-CONFIG_IRQ_CPU=y
-CONFIG_SWAP_IO_SPACE=y
-CONFIG_ARC32=y
-CONFIG_BOOT_ELF32=y
-CONFIG_MIPS_L1_CACHE_SHIFT=5
-CONFIG_ARC_CONSOLE=y
-CONFIG_ARC_PROMLIB=y
-
-#
-# CPU selection
-#
-# CONFIG_CPU_LOONGSON2 is not set
-# CONFIG_CPU_MIPS32_R1 is not set
-# CONFIG_CPU_MIPS32_R2 is not set
-# CONFIG_CPU_MIPS64_R1 is not set
-# CONFIG_CPU_MIPS64_R2 is not set
-# CONFIG_CPU_R3000 is not set
-# CONFIG_CPU_TX39XX is not set
-# CONFIG_CPU_VR41XX is not set
-# CONFIG_CPU_R4300 is not set
-# CONFIG_CPU_R4X00 is not set
-# CONFIG_CPU_TX49XX is not set
-CONFIG_CPU_R5000=y
-# CONFIG_CPU_R5432 is not set
-# CONFIG_CPU_R6000 is not set
-# CONFIG_CPU_NEVADA is not set
-# CONFIG_CPU_R8000 is not set
-# CONFIG_CPU_R1 is not set
-# CONFIG_CPU_RM7000 is not set
-# CONFIG_CPU_RM9000 is not set
-# CONFIG_CPU_SB1 is not set
-CONFIG_SYS_HAS_CPU_R4X00=y
-CONFIG_SYS_HAS_CPU_R5000=y
-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
-CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
-
-#
-# Kernel type
-#
-CONFIG_32BIT=y
-# CONFIG_64BIT is not set
-CONFIG_PAGE_SIZE_4KB=y
-# CONFIG_PAGE_SIZE_8KB is not set
-# CONFIG_PAGE_SIZE_16KB is not set
-# CONFIG_PAGE_SIZE_64KB is not set
-CONFIG_BOARD_SCACHE=y
-CONFIG_IP22_CPU_SCACHE=y
-CONFIG_MIPS_MT_DISABLED=y
-# CONFIG_MIPS_MT_SMP is not set
-# CONFIG_MIPS_MT_SMTC is not set
-CONFIG_CPU_HAS_LLSC=y
-CONFIG_CPU_HAS_SYNC=y
-CONFIG_GENERIC_HARDIRQS=y
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_ARCH_FLATMEM_ENABLE=y
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4
-# CONFIG_RESOURCES_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
-CONFIG_BOUNCE=y
-CONFIG_VIRT_TO_BUS=y
-# CONFIG_HZ_48 is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_128 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_256 is not set
-CONFIG_HZ_1000=y
-# CONFIG_HZ_1024 is not set
-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
-CONFIG_HZ=1000
-# CONFIG_PREEMPT_NONE is not set
-CONFIG_PREEMPT_VOLUNTARY=y
-# CONFIG_PREEMPT is not set
-# CONFIG_KEXEC is not set
-CONFIG_SECCOMP=y
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-
-#
-# General setup
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_BROKEN_ON_SMP=y

Re: [2.6 patch v2] cris: proper defconfig setup

2008-02-26 Thread Adrian Bunk
On Tue, Feb 26, 2008 at 08:44:53PM +0100, Sam Ravnborg wrote:
> On Tue, Feb 26, 2008 at 07:04:02PM +0100, Jesper Nilsson wrote:
> > On Tue, Feb 26, 2008 at 07:47:03PM +0200, Adrian Bunk wrote:
> > > This patch moves the cris defconfigs to arch/cris/configs/ where they 
> > > belong.
> > > 
> > > As a side effect they can now be used directly through e.g.
> > >   make ARCH=cris artpec_3_defconfig
> > > 
> > > The default defconfig is set through KBUILD_DEFCONFIG.
> > > 
> > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> > 
> > > Patch updated after I discovered an additional defconfig in 
> > > arch/cris/arch-v10/defconfig
> > 
> > That could probably have been nuked, it's ancient.
> > 
> > I'll put this in my queue. Thanks!
> If you blindly apply this patch then make sure you do not end
> up with zero size files. They are disliked by the kerne and
> make distclean will delete them - and git becomes unhappy.

At least GNU patch will correctly remove the files with my patch.

Please name the tools that are that broken that they wouldn't apply this 
patch correctly and don't claim my patch was broken (or shut up).

>   Sam

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC/PATCH] ipg: add jumbo frame support kconfig option

2008-02-26 Thread Pekka J Enberg
[ Sorry for the duplicate. I typoed Francois' email address. ]

From: Pekka Enberg <[EMAIL PROTECTED]>

Convert the internal JUMBO_FRAME #ifdef to CONFIG_IP1000_JUMBO_FRAME proper and
fix compilation errors.

Cc: Francois Romieu <[EMAIL PROTECTED]>
Cc: Sorbica Shieh <[EMAIL PROTECTED]>
Cc: Jesse Huang <[EMAIL PROTECTED]>
Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
---
 drivers/net/Kconfig |8 
 drivers/net/ipg.c   |   21 ++---
 drivers/net/ipg.h   |   11 ++-
 3 files changed, 24 insertions(+), 16 deletions(-)

Index: linux-2.6/drivers/net/Kconfig
===
--- linux-2.6.orig/drivers/net/Kconfig
+++ linux-2.6/drivers/net/Kconfig
@@ -2029,6 +2029,14 @@ config IP1000
  To compile this driver as a module, choose M here: the module
  will be called ipg.  This is recommended.
 
+config IP1000_JUMBO_FRAME
+   bool "Support for jumbo frames (EXPERIMENTAL)"
+   depends on IP1000 && EXPERIMENTAL
+   help
+ This option enables jumbo frame support for the IP1000 driver.
+
+ If in doubt, say N.
+
 config IGB
tristate "Intel(R) 82575 PCI-Express Gigabit Ethernet support"
depends on PCI
Index: linux-2.6/drivers/net/ipg.c
===
--- linux-2.6.orig/drivers/net/ipg.c
+++ linux-2.6/drivers/net/ipg.c
@@ -42,7 +42,6 @@
 #define ipg_r16(reg)   ioread16(ioaddr + (reg))
 #define ipg_r8(reg)ioread8(ioaddr + (reg))
 
-#define JUMBO_FRAME_4k_ONLY
 enum {
netdev_io_size = 128
 };
@@ -1079,7 +1078,7 @@ static int ipg_nic_rxrestore(struct net_
return 0;
 }
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
 
 /* use jumboindex and jumbosize to control jumbo frame status
  * initial status is jumboindex=-1 and jumbosize=0
@@ -1274,7 +1273,7 @@ static void ipg_nic_rx_with_end(struct n
 
framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;
 
-   endframeLen = framelen - jumbo->current_size;
+   endframelen = framelen - jumbo->current_size;
/*
if (framelen > IPG_RXFRAG_SIZE)
framelen=IPG_RXFRAG_SIZE;
@@ -1282,8 +1281,8 @@ static void ipg_nic_rx_with_end(struct n
if (framelen > IPG_RXSUPPORT_SIZE)
dev_kfree_skb_irq(jumbo->skb);
else {
-   memcpy(skb_put(jumbo->skb, endframeLen),
-  skb->data, endframeLen);
+   memcpy(skb_put(jumbo->skb, endframelen),
+  skb->data, endframelen);
 
jumbo->skb->protocol =
eth_type_trans(jumbo->skb, dev);
@@ -1355,16 +1354,16 @@ static int ipg_nic_rx(struct net_device 
 
switch (ipg_nic_rx_check_frame_type(dev)) {
case FRAME_WITH_START_WITH_END:
-   ipg_nic_rx_with_start_and_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry);
break;
case FRAME_WITH_START:
-   ipg_nic_rx_with_start(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_start(dev, sp, rxfd, entry);
break;
case FRAME_WITH_END:
-   ipg_nic_rx_with_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_end(dev, sp, rxfd, entry);
break;
case FRAME_NO_START_NO_END:
-   ipg_nic_rx_no_start_no_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry);
break;
}
}
@@ -1595,7 +1594,7 @@ static irqreturn_t ipg_interrupt_handler
 
IPG_DEBUG_MSG("_interrupt_handler\n");
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
ipg_nic_rxrestore(dev);
 #endif
spin_lock(&sp->lock);
@@ -1807,7 +1806,7 @@ static int ipg_nic_open(struct net_devic
if (ipg_config_autoneg(dev) < 0)
printk(KERN_INFO "%s: Auto-negotiation error.\n", dev->name);
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
/* initialize JUMBO Frame control variable */
sp->jumbo.found_start = 0;
sp->jumbo.current_size = 0;
Index: linux-2.6/drivers/net/ipg.h
===
--- linux-2.6.orig/drivers/net/ipg.h
+++ linux-2.6/drivers/net/ipg.h
@@ -536,7 +536,7 @@ enum ipg_regs {
  */
 #defineIPG_FRAMESBETWEENTXDMACOMPLETES 0x1
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
 
 # ifdef JUMBO_FRAME_SIZE_2K
 # define JUMBO_FRAME_SIZE 2048
@@ -575,6 +575,7 @@ enum ipg_regs {
 # define __IPG_RXF

Re: [PATCH 1/2] Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs"

2008-02-26 Thread Benny Halevy
Diabolical ;-)
Thanks for the pointer!

Benny

On Feb. 26, 2008, 11:39 -0800, Matthew Wilcox <[EMAIL PROTECTED]> wrote:
> On Tue, Feb 26, 2008 at 11:23:01AM -0800, Benny Halevy wrote:
>> Pete, the subject says "PATCH 1/2" but I didn't see any follow-up message
>> for PATCH 2/2. Just wondering :)
> 
> I think the problem's on your end ... I got it and so did marc:
> http://marc.info/?l=linux-scsi&m=120405067313933&w=2
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC/PATCH] ipg: add jumbo frame support kconfig option

2008-02-26 Thread Pekka J Enberg
From: Pekka Enberg <[EMAIL PROTECTED]>

Convert the internal JUMBO_FRAME #ifdef to CONFIG_IP1000_JUMBO_FRAME proper and
fix compilation errors.

Cc: Francois Romieu <[EMAIL PROTECTED]>
Cc: Sorbica Shieh <[EMAIL PROTECTED]>
Cc: Jesse Huang <[EMAIL PROTECTED]>
Signed-off-by: Pekka Enberg <[EMAIL PROTECTED]>
---
 drivers/net/Kconfig |8 
 drivers/net/ipg.c   |   21 ++---
 drivers/net/ipg.h   |   11 ++-
 3 files changed, 24 insertions(+), 16 deletions(-)

Index: linux-2.6/drivers/net/Kconfig
===
--- linux-2.6.orig/drivers/net/Kconfig
+++ linux-2.6/drivers/net/Kconfig
@@ -2029,6 +2029,14 @@ config IP1000
  To compile this driver as a module, choose M here: the module
  will be called ipg.  This is recommended.
 
+config IP1000_JUMBO_FRAME
+   bool "Support for jumbo frames (EXPERIMENTAL)"
+   depends on IP1000 && EXPERIMENTAL
+   help
+ This option enables jumbo frame support for the IP1000 driver.
+
+ If in doubt, say N.
+
 config IGB
tristate "Intel(R) 82575 PCI-Express Gigabit Ethernet support"
depends on PCI
Index: linux-2.6/drivers/net/ipg.c
===
--- linux-2.6.orig/drivers/net/ipg.c
+++ linux-2.6/drivers/net/ipg.c
@@ -42,7 +42,6 @@
 #define ipg_r16(reg)   ioread16(ioaddr + (reg))
 #define ipg_r8(reg)ioread8(ioaddr + (reg))
 
-#define JUMBO_FRAME_4k_ONLY
 enum {
netdev_io_size = 128
 };
@@ -1079,7 +1078,7 @@ static int ipg_nic_rxrestore(struct net_
return 0;
 }
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
 
 /* use jumboindex and jumbosize to control jumbo frame status
  * initial status is jumboindex=-1 and jumbosize=0
@@ -1274,7 +1273,7 @@ static void ipg_nic_rx_with_end(struct n
 
framelen = le64_to_cpu(rxfd->rfs) & IPG_RFS_RXFRAMELEN;
 
-   endframeLen = framelen - jumbo->current_size;
+   endframelen = framelen - jumbo->current_size;
/*
if (framelen > IPG_RXFRAG_SIZE)
framelen=IPG_RXFRAG_SIZE;
@@ -1282,8 +1281,8 @@ static void ipg_nic_rx_with_end(struct n
if (framelen > IPG_RXSUPPORT_SIZE)
dev_kfree_skb_irq(jumbo->skb);
else {
-   memcpy(skb_put(jumbo->skb, endframeLen),
-  skb->data, endframeLen);
+   memcpy(skb_put(jumbo->skb, endframelen),
+  skb->data, endframelen);
 
jumbo->skb->protocol =
eth_type_trans(jumbo->skb, dev);
@@ -1355,16 +1354,16 @@ static int ipg_nic_rx(struct net_device 
 
switch (ipg_nic_rx_check_frame_type(dev)) {
case FRAME_WITH_START_WITH_END:
-   ipg_nic_rx_with_start_and_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_start_and_end(dev, sp, rxfd, entry);
break;
case FRAME_WITH_START:
-   ipg_nic_rx_with_start(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_start(dev, sp, rxfd, entry);
break;
case FRAME_WITH_END:
-   ipg_nic_rx_with_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_with_end(dev, sp, rxfd, entry);
break;
case FRAME_NO_START_NO_END:
-   ipg_nic_rx_no_start_no_end(dev, tp, rxfd, entry);
+   ipg_nic_rx_no_start_no_end(dev, sp, rxfd, entry);
break;
}
}
@@ -1595,7 +1594,7 @@ static irqreturn_t ipg_interrupt_handler
 
IPG_DEBUG_MSG("_interrupt_handler\n");
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
ipg_nic_rxrestore(dev);
 #endif
spin_lock(&sp->lock);
@@ -1807,7 +1806,7 @@ static int ipg_nic_open(struct net_devic
if (ipg_config_autoneg(dev) < 0)
printk(KERN_INFO "%s: Auto-negotiation error.\n", dev->name);
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
/* initialize JUMBO Frame control variable */
sp->jumbo.found_start = 0;
sp->jumbo.current_size = 0;
Index: linux-2.6/drivers/net/ipg.h
===
--- linux-2.6.orig/drivers/net/ipg.h
+++ linux-2.6/drivers/net/ipg.h
@@ -536,7 +536,7 @@ enum ipg_regs {
  */
 #defineIPG_FRAMESBETWEENTXDMACOMPLETES 0x1
 
-#ifdef JUMBO_FRAME
+#ifdef CONFIG_IP1000_JUMBO_FRAME
 
 # ifdef JUMBO_FRAME_SIZE_2K
 # define JUMBO_FRAME_SIZE 2048
@@ -575,6 +575,7 @@ enum ipg_regs {
 # define __IPG_RXFRAG_SIZE 4088
 # else
 # define JUMBO_FRAME_SIZE

Re: [BUG] using smp_processor_id() in preemptible as suspending

2008-02-26 Thread Paul E. McKenney
On Tue, Feb 26, 2008 at 08:33:54AM -0800, Andrew Morton wrote:
> On Tue, 26 Feb 2008 16:24:11 +0800 Dave Young <[EMAIL PROTECTED]> wrote:
> 
> > I don't know whom I should mail to, could you cc the proper guy? Thanks.

Hello, Dave,

Would you be willing to try out the following (untested, might not even
compile) patch show at the very end of this message?  This assumes that
you were running with CONFIG_PREEMPT_RCU, which seems most likely based
on looking at your oops.

Thanx, Paul

> > [  118.331674] acpi LNXSYSTM:00: suspend
> > [  118.331674] Disabling non-boot CPUs ...
> > [  118.331674] CPU0 attaching NULL sched-domain.
> > [  118.331674] CPU1 attaching NULL sched-domain.
> > [  118.438750] CPU 1 is now offline
> > [  118.438750] lockdep: fixing up alternatives.
> > [  118.438750] SMP alternatives: switching to UP code
> > [  118.438750] BUG: using smp_processor_id() in preemptible [] 
> > code: s2ram/2818
> > [  118.438750] caller is rcu_offline_cpu+0x15a/0x1c0
> > [  118.438750] Pid: 2818, comm: s2ram Not tainted 2.6.25-rc3-test #2
> > [  118.438750]  [] ? printk+0x18/0x20
> > [  118.438750]  [] debug_smp_processor_id+0xb1/0xc0
> > [  118.438750]  [] rcu_offline_cpu+0x15a/0x1c0
> > [  118.438750]  [] rcu_cpu_notify+0x3f/0x60
> > [  118.438750]  [] notifier_call_chain+0x3d/0x80
> > [  118.438750]  [] __raw_notifier_call_chain+0x19/0x20
> > [  118.438750]  [] raw_notifier_call_chain+0x1a/0x20
> > [  118.438750]  [] _cpu_down+0x13b/0x230
> > [  118.438750]  [] disable_nonboot_cpus+0x49/0xd0
> > [  118.438750]  [] suspend_devices_and_enter+0x72/0x130
> > [  118.438750]  [] ? printk+0x18/0x20
> > [  118.438750]  [] enter_state+0xb3/0xe0
> > [  118.438750]  [] state_store+0x7d/0xc0
> > [  118.438750]  [] ? state_store+0x0/0xc0
> > [  118.438750]  [] kobj_attr_store+0x2e/0x40
> > [  118.438750]  [] flush_write_buffer+0x47/0x70
> > [  118.438750]  [] sysfs_write_file+0x49/0x70
> > [  118.438750]  [] vfs_write+0x91/0x140
> > [  118.438750]  [] sys_write+0x3d/0x70
> > [  118.438750]  [] syscall_call+0x7/0xb
> > [  118.438750]  ===
> > [  118.438750] CPU0 attaching NULL sched-domain.
> > [  118.440335] CPU1 is down
> 
> Paul & Ingo I guess
> 
> > My .config 
> 
> Doesn't tell us whether you'r eusing CONFIG_CLASSIC_RCU or
> CONFIG_PREEMPT_RCU.  I assume CONFIG_CLASSIC_RCU, if you ran `make
> oldconfig'.
> 
> Which kernel are you running here?

Signed-off-by: Paul E. McKenney <[EMAIL PROTECTED]>
---

 rcupreempt.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -urpNa -X dontdiff linux-2.6.25-rc2/kernel/rcupreempt.c 
linux-2.6.25-rc2-rcuoffline/kernel/rcupreempt.c
--- linux-2.6.25-rc2/kernel/rcupreempt.c2008-02-24 10:30:44.0 
-0800
+++ linux-2.6.25-rc2-rcuoffline/kernel/rcupreempt.c 2008-02-26 
11:39:33.0 -0800
@@ -702,8 +702,8 @@ void rcu_offline_cpu(int cpu)
 * fix.
 */
 
-   rdp = RCU_DATA_ME();
spin_lock_irqsave(&rdp->lock, flags);
+   rdp = RCU_DATA_ME();
*rdp->nexttail = list;
if (list)
rdp->nexttail = tail;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6 patch v2] cris: proper defconfig setup

2008-02-26 Thread Sam Ravnborg
On Tue, Feb 26, 2008 at 07:04:02PM +0100, Jesper Nilsson wrote:
> On Tue, Feb 26, 2008 at 07:47:03PM +0200, Adrian Bunk wrote:
> > This patch moves the cris defconfigs to arch/cris/configs/ where they 
> > belong.
> > 
> > As a side effect they can now be used directly through e.g.
> >   make ARCH=cris artpec_3_defconfig
> > 
> > The default defconfig is set through KBUILD_DEFCONFIG.
> > 
> > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>
> 
> > Patch updated after I discovered an additional defconfig in 
> > arch/cris/arch-v10/defconfig
> 
> That could probably have been nuked, it's ancient.
> 
> I'll put this in my queue. Thanks!
If you blindly apply this patch then make sure you do not end
up with zero size files. They are disliked by the kerne and
make distclean will delete them - and git becomes unhappy.


Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 00/37] Permit filesystem local caching

2008-02-26 Thread Daniel Phillips
On Tuesday 26 February 2008 06:33, David Howells wrote:
> > Suppose one were to take a mundane approach to the persistent cache
> > problem instead of layering filesystems.  What you would do then is
> > change NFS's ->write_page and variants to fiddle the persistent
> > cache
> 
> It is a requirement laid down by the Linux NFS fs maintainers that the writes
> to the cache be asynchronous, even if the writes to NFS aren't.

As it happens, I will be hanging out for the next few days with said
NFS maintainers, it would help to be as informed as possible about
your patch set.

> Note further that NFS's write_page() != writing to the cache.  Writing to the
> cache is typically done by NFS's readpages().

Yes, of course.  But also by ->write_page no?

> > Which I could eventually find out by reading all the patches but asking you
> > is so much more fun :-)
> 
> And a waste of my time.  I've provided documentation in the main FS-Cache
> patch, both as text files and in comments in header files that answer your
> questions.  Please read them first.

37 Patches, none of which has "Documentation" in the subject line, and
you did not provide a diffstat in patch 0 for the patch set as a whole.
If I had known it was there of course I would have read it.  It is great
to see this level of documentation.  But I do not think it is fair to
blame your (one) reader for missing it.

See the smiley above?  The _real_ reason I am asking you is that I do
not think anybody understands your patch set, in spite of your
considerable efforts to address that.  Discussion in public, right or
wrong, is the only way to fix that.  It is counterproductive to drive
readers away from the discussion for fear that they may miss some point
obvious to the original author, or perhaps already discussed earlier on
lkml, and get flamed for it.

Obviously, the patch set is not going to be perfect when it goes in and
it would be a silly abuse of the open source process to require that,
but the parts where it touches the rest of the system have to be really
well understood, and it is clear from the level of participation in the
thread that they are not.

One bit that already came out of this, which you have alluded to
several times yourself but somehow seem to keep glossing over, is that
you need a ->direct_bio file operations method.  So does loopback mount.
It might be worth putting some effort into seeing how ->direct_IO can
be refactored to make that happen.  You can get it in separately on the
basis of helping loopback, and it will make your patches nicer.

Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Bluez-devel] forcing SCO connection patch

2008-02-26 Thread Marcel Holtmann

Hi Loius,


--- linux-2.6.23/net/bluetooth/hci_event.c.orig 2008-02-25
17:17:11.0 +0900
+++ linux-2.6.23/net/bluetooth/hci_event.c 2008-02-25
17:30:23.0 +0900
@@ -1313,8 +1313,17 @@
hci_dev_lock(hdev);

conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
- if (!conn)
- goto unlock;
+ if (!conn) {
+ if (ev->link_type != ACL_LINK) {
+ __u8 link_type = (ev->link_type == ESCO_LINK) ? SCO_LINK :  
ESCO_LINK;

+
+ conn = hci_conn_hash_lookup_ba(hdev, link_type, &ev->bdaddr);
+ if (conn)
+ conn->type = ev->link_type;
+ }
+ if (!conn)
+ goto unlock;
+ }


NAK. There is no need to check for ACL_LINK. The sync_complete will
only be called for SCO or eSCO connections.

I see. I removed this check line in the patch.

Thanks.
Louis JANG
Signed-off-by: Louis JANG <[EMAIL PROTECTED]>
--- linux-2.6.23/net/bluetooth/hci_event.c.orig	2008-02-26  
12:46:36.0 +0900
+++ linux-2.6.23/net/bluetooth/hci_event.c	2008-02-26  
12:47:23.0 +0900

@@ -1313,8 +1313,15 @@
hci_dev_lock(hdev);

conn = hci_conn_hash_lookup_ba(hdev, ev->link_type, &ev->bdaddr);
-   if (!conn)
-   goto unlock;
+   if (!conn) {
+		__u8 link_type = (ev->link_type == ESCO_LINK) ? SCO_LINK :  
ESCO_LINK;

+
+   conn = hci_conn_hash_lookup_ba(hdev, link_type, &ev->bdaddr);
+   if (conn)
+   conn->type = ev->link_type;
+   else
+   goto unlock;
+   }

if (!ev->status) {
conn->handle = __le16_to_cpu(ev->handle);


do something like this:

if (!conn) {


conn = 
if (!conn)
goto unlock;

conn->type = ev->link_type;
}

And include a description when submitting a patch.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [dm-devel] Re: device mapper not reporting no-barrier-support?

2008-02-26 Thread Jens Axboe
On Tue, Feb 26 2008, Anders Henke wrote:
> On Tue, Feb 26 2008 Jens Axboe wrote:
> > On Tue, Feb 26 2008, Alasdair G Kergon wrote:
> > > On Mon, Feb 25, 2008 at 03:20:50PM -0800, Andrew Morton wrote:
> > > > On Mon, 25 Feb 2008 14:26:15 +0100 Anders Henke <[EMAIL PROTECTED]> 
> > > > wrote:
> > > > > I'm currently stuck between Kernel LVM and DRBD, as I'm using Kernel
> > > > > 2.6.24.2 with DRBD 8.2.5 on top of an LVM2 device (LV).
> > > > > -LVM2/device mapper doesn't support write barriers
> > > 
> > > That's right.
> > > 
> > > > > -DRBD uses blkdev_issue_flush() to flush its metadata to disk.
> > > 
> > > Which won't work if device-mapper is underneath.
> > > 
> > > > >  On a no-barrier-device, DRBD should receive EOPNOTSUPP, but
> > > > >  it really does receive an EIO. Promptly, DRBD gives the
> > > > >  error message "drbd0: local disk flush failed with status -5".
> > > > > I've posted a lengty summary of my findings to
> > > > > http://lists.linbit.com/pipermail/drbd-user/2008-February/008665.html
> > > > > ... that DRBD does catch the EOPNOTSUPP for blkdev_issue_flush and
> > > > > BIO_RW_BARRIER, but the lvm implementation of blkdev_issue_flush in
> > > > > 2.6.24.2 aparently does return EIO for blkdev_issue_flush.
> > > > I'd say it's a DM bug.
> > > 
> > > The dm code is unchanged, but look at the limited endio handling in
> > > ll_rw_blk.c:
> > > 
> > > static void bio_end_empty_barrier(struct bio *bio, int err)
> > > {
> > > if (err)
> > > clear_bit(BIO_UPTODATE, &bio->bi_flags);
> > > 
> > > complete(bio->bi_private);
> > > }
> > > 
> > > int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector)
> > > {
> > > ...
> > > wait_for_completion(&wait);
> > > if (error_sector)
> > > *error_sector = bio->bi_sector;
> > > ret = 0;
> > > if (!bio_flagged(bio, BIO_UPTODATE))
> > > ret = -EIO;
> > 
> > You are right, the return value got broken there. Does this make it
> > return -EOPNOTSUPP properly for you?
> 
> 
> No, it doesn't.
> 
> 
> 
> I've applied your patch manually, as 2.6.24.2. doesn't have a "blk-barrier.c":
> 
> ---cut
> --- linux-2.6.24.2/block/ll_rw_blk.c.prepatch   2008-02-11
> 06:51:11.0 +0100
> +++ linux-2.6.24.2/block/ll_rw_blk.c2008-02-26 20:02:28.514641620
> +0100
> @@ -2667,8 +2667,11 @@
>  
>  static void bio_end_empty_barrier(struct bio *bio, int err)
>  {
> -   if (err)
> +   if (err) {
> +   if (err == -EOPNOTSUPP)
> +   set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
> clear_bit(BIO_UPTODATE, &bio->bi_flags);
> +   }
>  
> complete(bio->bi_private);
>  }
> ---cut
> 
> ... and the resulting kernel shows exactly the same behaviour than before:

Not surprising, as you missed half of the patch:

> > @@ -309,7 +312,9 @@ int blkdev_issue_flush(struct block_device *bdev, 
> > sector_t *error_sector)
> > *error_sector = bio->bi_sector;
> >  
> > ret = 0;
> > -   if (!bio_flagged(bio, BIO_UPTODATE))
> > +   if (bio_flagged(bio, BIO_EOPNOTSUPP))
> > +   ret = -EOPNOTSUPP;
> > +   else if (!bio_flagged(bio, BIO_UPTODATE))
> > ret = -EIO;
> >  
> > bio_put(bio);

-- 
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Kconfig configuration restore bug [Was: x86: vSMP selection in config]

2008-02-26 Thread Sam Ravnborg
Hi Roman.

We discovered a situation where we could set a
choice value in menuconfig but later when we either was
running menuconfig or oldconfig the value were changed.

I have created a minimal config that exhibit the error.
It was created in a pure mechanical trial-and-error fashion.

First the minimal Kconfig file:
# x86 configuration

choice
prompt "Subarchitecture Type"

config X86_PC
bool "PC-compatible"

config X86_VOYAGER
bool "Voyager (NCR)"

config X86_VSMP
bool "Support for ScaleMP vSMP"
depends on PCI

endchoice

config PCI
bool "PCI support" if !X86_VISWS
depends on !X86_VOYAGER
default y


config USB_ARCH_HAS_HCD
bool
default PCI

config USB
bool "Support for Host-side USB"
depends on USB_ARCH_HAS_HCD

config USB_PHIDGET
bool "USB Phidgets drivers"
depends on USB

config USB_PHIDGETMOTORCONTROL
bool "USB PhidgetMotorControl support"
depends on USB_PHIDGET



Next the saved .config that is used:
#
# Automatically generated make config: don't edit
# Linux kernel version: KERNELVERSION
# Tue Feb 26 20:27:09 2008
#
# CONFIG_X86_PC is not set
# CONFIG_X86_VOYAGER is not set
CONFIG_X86_VSMP=y
CONFIG_PCI=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
# CONFIG_USB_PHIDGET is not set

When we enter menuconfig or are running oldconfig then we can see
that CONFIG_X86_PC is set to 'y' and CONFIG_X86_VSMP is set to 'n'.

If I in menuconfig select VSMP this setting is saved but then
oldconfig kicks in and we loose the setting again.

If I delete any of the config variables in the sample above then
we no longer change the values and we keep the VSMP equals 'y'.


Can you please take a look at this.

Thanks,
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/2] Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs"

2008-02-26 Thread Matthew Wilcox
On Tue, Feb 26, 2008 at 11:23:01AM -0800, Benny Halevy wrote:
> Pete, the subject says "PATCH 1/2" but I didn't see any follow-up message
> for PATCH 2/2. Just wondering :)

I think the problem's on your end ... I got it and so did marc:
http://marc.info/?l=linux-scsi&m=120405067313933&w=2

-- 
Intel are signing my paycheques ... these opinions are still mine
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] bluetooth: delete timer in l2cap_conn_del()

2008-02-26 Thread Marcel Holtmann

Hi Quel,


Delete a possibly armed timer before kfree'ing the connection object.

Solves: http://lkml.org/lkml/2008/2/15/514

Reported-by:Quel Qun <[EMAIL PROTECTED]>
Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>

---
net/bluetooth/l2cap.c |2 ++
1 file changed, 2 insertions(+)

Index: linux-2.6/net/bluetooth/l2cap.c
===
--- linux-2.6.orig/net/bluetooth/l2cap.c
+++ linux-2.6/net/bluetooth/l2cap.c
@@ -417,6 +417,8 @@ static void l2cap_conn_del(struct hci_co
l2cap_sock_kill(sk);
}

+   del_timer_sync(&conn->info_timer);
+
hcon->l2cap_data = NULL;
kfree(conn);
}


can you confirm that this actually fixes the issue.

Thomas, if confirmed, this is Acked-by me.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [dm-devel] Re: device mapper not reporting no-barrier-support?

2008-02-26 Thread Anders Henke
On Tue, Feb 26 2008 Jens Axboe wrote:
> On Tue, Feb 26 2008, Alasdair G Kergon wrote:
> > On Mon, Feb 25, 2008 at 03:20:50PM -0800, Andrew Morton wrote:
> > > On Mon, 25 Feb 2008 14:26:15 +0100 Anders Henke <[EMAIL PROTECTED]> wrote:
> > > > I'm currently stuck between Kernel LVM and DRBD, as I'm using Kernel
> > > > 2.6.24.2 with DRBD 8.2.5 on top of an LVM2 device (LV).
> > > > -LVM2/device mapper doesn't support write barriers
> > 
> > That's right.
> > 
> > > > -DRBD uses blkdev_issue_flush() to flush its metadata to disk.
> > 
> > Which won't work if device-mapper is underneath.
> > 
> > > >  On a no-barrier-device, DRBD should receive EOPNOTSUPP, but
> > > >  it really does receive an EIO. Promptly, DRBD gives the
> > > >  error message "drbd0: local disk flush failed with status -5".
> > > > I've posted a lengty summary of my findings to
> > > > http://lists.linbit.com/pipermail/drbd-user/2008-February/008665.html
> > > > ... that DRBD does catch the EOPNOTSUPP for blkdev_issue_flush and
> > > > BIO_RW_BARRIER, but the lvm implementation of blkdev_issue_flush in
> > > > 2.6.24.2 aparently does return EIO for blkdev_issue_flush.
> > > I'd say it's a DM bug.
> > 
> > The dm code is unchanged, but look at the limited endio handling in
> > ll_rw_blk.c:
> > 
> > static void bio_end_empty_barrier(struct bio *bio, int err)
> > {
> > if (err)
> > clear_bit(BIO_UPTODATE, &bio->bi_flags);
> > 
> > complete(bio->bi_private);
> > }
> > 
> > int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector)
> > {
> > ...
> > wait_for_completion(&wait);
> > if (error_sector)
> > *error_sector = bio->bi_sector;
> > ret = 0;
> > if (!bio_flagged(bio, BIO_UPTODATE))
> > ret = -EIO;
> 
> You are right, the return value got broken there. Does this make it
> return -EOPNOTSUPP properly for you?


No, it doesn't.



I've applied your patch manually, as 2.6.24.2. doesn't have a "blk-barrier.c":

---cut
--- linux-2.6.24.2/block/ll_rw_blk.c.prepatch   2008-02-11
06:51:11.0 +0100
+++ linux-2.6.24.2/block/ll_rw_blk.c2008-02-26 20:02:28.514641620
+0100
@@ -2667,8 +2667,11 @@
 
 static void bio_end_empty_barrier(struct bio *bio, int err)
 {
-   if (err)
+   if (err) {
+   if (err == -EOPNOTSUPP)
+   set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
clear_bit(BIO_UPTODATE, &bio->bi_flags);
+   }
 
complete(bio->bi_private);
 }
---cut

... and the resulting kernel shows exactly the same behaviour than before:

[  752.301388] drbd0: Writing meta data super block now.
[  752.349713] drbd0: local disk flush failed with status -5
[  752.416256] drbd0: local disk flush failed with status -5
[  753.419254] drbd0: local disk flush failed with status -5
[  753.925726] drbd0: local disk flush failed with status -5
[  754.551176] drbd0: local disk flush failed with status -5
[  754.806052] drbd0: local disk flush failed with status -5
[  755.327988] drbd0: local disk flush failed with status -5
[  755.781863] drbd0: local disk flush failed with status -5
[  756.266694] drbd0: local disk flush failed with status -5





Anders

> diff --git a/block/blk-barrier.c b/block/blk-barrier.c
> index 6901eed..55c5f1f 100644
> --- a/block/blk-barrier.c
> +++ b/block/blk-barrier.c
> @@ -259,8 +259,11 @@ int blk_do_ordered(struct request_queue *q, struct 
> request **rqp)
>  
>  static void bio_end_empty_barrier(struct bio *bio, int err)
>  {
> - if (err)
> + if (err) {
> + if (err == -EOPNOTSUPP)
> + set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
>   clear_bit(BIO_UPTODATE, &bio->bi_flags);
> + }
>  
>   complete(bio->bi_private);
>  }
> @@ -309,7 +312,9 @@ int blkdev_issue_flush(struct block_device *bdev, 
> sector_t *error_sector)
>   *error_sector = bio->bi_sector;
>  
>   ret = 0;
> - if (!bio_flagged(bio, BIO_UPTODATE))
> + if (bio_flagged(bio, BIO_EOPNOTSUPP))
> + ret = -EOPNOTSUPP;
> + else if (!bio_flagged(bio, BIO_UPTODATE))
>   ret = -EIO;
>  
>   bio_put(bio);
> 
> -- 
> Jens Axboe
> 
-- 
1&1 Internet AG  "Use the --force, Luke"
Brauerstrasse 48 v://49.721.91374.50
D-76135 Karlsruhef://49.721.91374.225

Amtsgericht Montabaur HRB 6484
Vorstand: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Andreas Gauger,
Thomas Gottschlich, Matthias Greve, Robert Hoffmann, Markus Huhn, Achim Weiss
Aufsichtsratsvorsitzender: Michael Scheeren
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: oops when using git gc --auto

2008-02-26 Thread Otavio Salvador
Nick Piggin <[EMAIL PROTECTED]> writes:

> On Wednesday 27 February 2008 00:22, Otavio Salvador wrote:
>> Hello,
>>
>> Today I got this oops, someone has an idea of what's going wrong?
>>
>> Unable to handle kernel paging request at 0200 RIP:
>>  [] find_get_pages+0x3c/0x69
>
> At this point, the most likely candidate is a memory corruption
> error, probably hardware. Can you run memtest86 for a few hours
> to get a bit more confidence in the hw (preferably overnight)?
>
> I did recently see another quite similar corruption in the
> pagecache radix-tree, though. Coincidence maybe?

I let it running at lunch time and all went OK. I've also let burnP6
running later and nothing happened. Looks like hw is OK.

I've just got another oops, with same kernel.

Unable to handle kernel paging request at 83006d922370 RIP: 
 [] shrink_page_list+0x16f/0x570
PGD 0 
Oops:  [1] SMP 
CPU 2 
Modules linked in: sha256_generic aes_generic aes_x86_64 cbc blkcipher 
nvidia(P) rfcomm l2cap bluetooth ac battery ipv6 nfs lockd nfs_acl sunrpc 
bridge ext2 mbcache dm_crypt tun kvm_intel kvm loop snd_hda_intel snd_usb_audio 
snd_pcm snd_timer snd_usb_lib snd_rawmidi snd_seq_device snd_hwdep snd i2c_i801 
soundcore snd_page_alloc intel_agp serio_raw button pcspkr e1000e i2c_core 
psmouse evdev xfs dm_mirror dm_snapshot dm_mod raid0 md_mod sg sr_mod cdrom 
sd_mod usbhid hid pata_marvell usb_storage floppy ahci ata_generic libata 
scsi_mod uhci_hcd ehci_hcd thermal processor fan
Pid: 213, comm: kswapd0 Tainted: P2.6.24-1-amd64 #1
RIP: 0010:[]  [] 
shrink_page_list+0x16f/0x570
RSP: 0018:81007ac8bbe0  EFLAGS: 00010286
RAX: 00010009 RBX: 810001e888a8 RCX: 810001e888d0
RDX: 83006d922350 RSI: 0001 RDI: 810001e888a8
RBP: 81007d1b9258 R08: 81007d776407 R09: 
R10: 0009 R11: 0002 R12: 0001
R13: 81007ac8be70 R14: 81007ac8bda0 R15: 81007ac8be01
FS:  () GS:81007d776340() knlGS:
CS:  0010 DS: 0018 ES: 0018 CR0: 8005003b
CR2: 83006d922370 CR3: 6d4ac000 CR4: 26e0
DR0:  DR1:  DR2: 
DR3:  DR6: 4ff0 DR7: 0400
Process kswapd0 (pid: 213, threadinfo 81007ac8a000, task 81007cc03800)
Stack:  0006 0002 0002 0001
 810001dc79e0 810001dc7a18 810001dc7fc8 810001dc8000
  0001  0001
Call Trace:
 [] isolate_lru_pages+0x5d/0x1d9
 [] isolate_lru_pages+0x5d/0x1d9
 [] shrink_inactive_list+0x11d/0x381
 [] shrink_zone+0xe5/0x108
 [] kswapd+0x2fc/0x49b
 [] thread_return+0x3d/0xab
 [] autoremove_wake_function+0x0/0x2e
 [] kswapd+0x0/0x49b
 [] kthread+0x47/0x74
 [] child_rip+0xa/0x12
 [] kthread+0x0/0x74
 [] child_rip+0x0/0x12


Code: 48 83 7a 20 00 0f 85 47 03 00 00 48 8d 42 30 48 39 42 30 0f 
RIP  [] shrink_page_list+0x16f/0x570
 RSP 
CR2: 83006d922370
---[ end trace b01014a6540e7663 ]---

-- 
O T A V I OS A L V A D O R
-
 E-mail: [EMAIL PROTECTED]  UIN: 5906116
 GNU/Linux User: 239058 GPG ID: 49A5F855
 Home Page: http://otavio.ossystems.com.br
-
"Microsoft sells you Windows ... Linux gives
 you the whole house."
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: epoll and shared fd's

2008-02-26 Thread Davide Libenzi
On Tue, 26 Feb 2008, Michael Kerrisk wrote:

> Okay -- I'll look at it some more.  I am however loathe to drop the
> term open file description, because POSIX uses, as well as a number of
> other Linux man pages by now.

Heh, POSIX. Now doesn't take a genius to see that "file description" and 
"file descriptor" looks amazingly similar, does it? :)


> > That'd mean placing an eventpoll custom hook into sys_close(). Looks 
> > very bad to me, and probably will look even worse to other kernel 
> > folks. Is not much a performance issue (a check to see if a file* is 
> > an eventpoll file is as easy as comparing the f_op pointer), but a 
> > design/style issue.
>
> Oh -- I wasn't suggesting we could make the change now -- it would
> break the ABI and all that.  I was just wondering why the decision
> wasn't made to do it the other way to begin with.  The existing
> semantics are somewhat couterintuitive, and potentially interact
> libraries that do private manipulations with file descriptors.

For the same reason that a custom hook in sys_close wouldn't have passed 
the radar ;)
As far as problems with libraries doing tricks with fds, that's an issue 
that goes beyond epoll.



- Davide


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: arcmsr & areca-1660 - strange behaviour under heavy load

2008-02-26 Thread Nikola Ciprich

Hi Andrew,
no, right now I have the machine in the weird state, swap is empty (3GB), 
and so is bigger part of RAM (~100MB free), and the gcc crashes even when 
trying to compile c program with empty main function. so it doesn't seem 
to be problem with memory exhaustion.
Hopefully the areca guys will be able to find out what is going on. But 
anyways, if You'll have any other idea what should I check/try, please let 
me know, as I have to admit that I'd really like to hunt it down myself 
(and yes, there is some vanity on my side here :))

thanks a lot once more
cheers
nik



 On Tue, 26 Feb 2008, 
Andrew Morton wrote:



On Tue, 26 Feb 2008 10:35:31 +0100 (CET) Nikola Ciprich <[EMAIL PROTECTED]> 
wrote:


Hi

On Sun, 24 Feb 2008, Andrew Morton wrote:

Hi Andrew,
thanks a lot for reply, I'm attaching requested information.
please let me know if You need more information/testing, whatever.
I'll be glad to help.
BR
nik


Areca support doesn't seem to be very interested in the problem :-(


(cc's added)

Please get the machine into this state of memory exhaustion then take
copies of the output of the following, and send them via reply-to-all to
this email:

- cat /proc/meminfo

- cat /proc/slabinfo

- dmesg -c > /dev/null ; echo m > /proc/sysrq-trigger ; dmesg -c

Thanks.


Alas, that all looks OK to me.

You never get any out-of-memory messages, and no oom-killing messages?

Possibly what is happening here is that in this low-memory condition, some
of the driver's internal memory-allocation attempts are failing, and the
driver isn't correctly handling this.  This is a rare situation which may
well not have been hit in anyone else's testing.

I expect that the Areca engineers will be able to reproduce this with a
suitably small "mem=" kernel boot option.  If not, they could perhaps
investigate the kernel's fault-injection framework, which permits
simulation of page allocation failures.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/




--

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/2] Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs"

2008-02-26 Thread Benny Halevy
Pete, the subject says "PATCH 1/2" but I didn't see any follow-up message
for PATCH 2/2. Just wondering :)

Benny

On Feb. 26, 2008, 10:27 -0800, Pete Wyckoff <[EMAIL PROTECTED]> wrote:
> This reverts commit a3cd7d9070be417a21905c997ee32d756d999b38.
> 
> The original commit breaks iSER reliably, making it complain:
> 
> iser: iser_reg_page_vec:ib_fmr_pool_map_phys failed: -11
> 
> The FMR cleanup thread runs ib_fmr_batch_release() as dirty
> entries build up.  This commit causes clean but used FMR
> entries also to be purged.  During that process, another thread
> can see that there are no free FMRs and fail, even though
> there should always have been enough available.
> 
> Signed-off-by: Pete Wyckoff <[EMAIL PROTECTED]>
> ---
>  drivers/infiniband/core/fmr_pool.c |   21 ++---
>  1 files changed, 6 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/infiniband/core/fmr_pool.c 
> b/drivers/infiniband/core/fmr_pool.c
> index 7f00347..4044fdf 100644
> --- a/drivers/infiniband/core/fmr_pool.c
> +++ b/drivers/infiniband/core/fmr_pool.c
> @@ -139,7 +139,7 @@ static inline struct ib_pool_fmr 
> *ib_fmr_cache_lookup(struct ib_fmr_pool *pool,
>  static void ib_fmr_batch_release(struct ib_fmr_pool *pool)
>  {
>   int ret;
> - struct ib_pool_fmr *fmr, *next;
> + struct ib_pool_fmr *fmr;
>   LIST_HEAD(unmap_list);
>   LIST_HEAD(fmr_list);
>  
> @@ -158,20 +158,6 @@ static void ib_fmr_batch_release(struct ib_fmr_pool 
> *pool)
>  #endif
>   }
>  
> - /*
> -  * The free_list may hold FMRs that have been put there
> -  * because they haven't reached the max_remap count.
> -  * Invalidate their mapping as well.
> -  */
> - list_for_each_entry_safe(fmr, next, &pool->free_list, list) {
> - if (fmr->remap_count == 0)
> - continue;
> - hlist_del_init(&fmr->cache_node);
> - fmr->remap_count = 0;
> - list_add_tail(&fmr->fmr->list, &fmr_list);
> - list_move(&fmr->list, &unmap_list);
> - }
> -
>   list_splice(&pool->dirty_list, &unmap_list);
>   INIT_LIST_HEAD(&pool->dirty_list);
>   pool->dirty_len = 0;
> @@ -384,6 +370,11 @@ void ib_destroy_fmr_pool(struct ib_fmr_pool *pool)
>  
>   i = 0;
>   list_for_each_entry_safe(fmr, tmp, &pool->free_list, list) {
> + if (fmr->remap_count) {
> + INIT_LIST_HEAD(&fmr_list);
> + list_add_tail(&fmr->fmr->list, &fmr_list);
> + ib_unmap_fmr(&fmr_list);
> + }
>   ib_dealloc_fmr(fmr->fmr);
>   list_del(&fmr->list);
>   kfree(fmr);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: epoll and shared fd's

2008-02-26 Thread Michael Kerrisk
On Tue, Feb 26, 2008 at 8:04 PM, Davide Libenzi <[EMAIL PROTECTED]> wrote:
>
> On Tue, 26 Feb 2008, Michael Kerrisk wrote:
>
> > Following up after quite some time:
> >
> > Davide Libenzi wrote:
> > > On Sat, 26 Jan 2008, Michael Kerrisk wrote:
> > >
> > >> On Jan 25, 2008 12:57 AM, Davide Libenzi <[EMAIL PROTECTED]> wrote:
> > >>> On Thu, 24 Jan 2008, Pierre Habouzit wrote:
> > >>>
> >  On Fri, Jan 18, 2008 at 09:10:18PM +, Davide Libenzi wrote:
> > > On Fri, 18 Jan 2008, Pierre Habouzit wrote:
> > >
> > >>   Hi,
> > >>
> > >>   I just came across a strange behavior of epoll that seems to
> > >> contradict the documentation. Here is what happens:
> > >>
> > >> * I have two processes P1 and P2, P1 accept()s connections, and send 
> > >> the
> > >>   resulting file descriptors to P2 through a unix socket.
> > >>
> > >> * P2 registers the received socket in his epollfd.
> > >>
> > >>   [time passes]
> > >>
> > >> * P2 is done with the socket and closes it
> > >>
> > >> * P2 gets events for the socket again !
> > >>
> > >>
> > >>   Though the documentation says that if a process closes a file
> > >> descriptor, it gets unregistered. And yes I'm sure that P2 doens't 
> > >> dup()
> > >> the file descriptor. Though (because of a bug) it was still open in
> > >> P1[0], hence the referenced socket still live at the kernel level.
> > >>
> > >>   Of course the userland workaround is to force the EPOLL_CTL_DEL 
> > >> before
> > >> the close, which I now do, but costs me a syscall where I wanted to
> > >> spare one :|
> > > For epoll, a close is when the kernel file* is released (that is, 
> > > when all
> > > its instances are gone).
> > > We could put a special handling in filp_close(), but I don't think is 
> > > a
> > > good idea, and we're better live with the current behaviour.
> >    Okay, maybe updating the linux manpages to be more clear about that 
> >  is
> >  the way to go then. Thanks
> > >>> Sure. I'll send Michael Kerrisk and updated statement for the A6 answer 
> > >>> in
> > >>> the epoll man page.
> > >> Thanks Davide -- yes please send me a patch.
> > >> --
> > >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" 
> > >> in
> > >> the body of a message to [EMAIL PROTECTED]
> > >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >> Please read the FAQ at  http://www.tux.org/lkml/
> > >>
> > >
> > > Something like the one below ...
> > >
> > >
> > > - Davide
> > >
> > >
> > >
> > > --- epoll.4 2008-01-26 12:58:21.0 -0800
> > > +++ epoll.4.new 2008-01-26 13:06:36.0 -0800
> > > @@ -285,7 +285,19 @@
> > >  sets automatically?
> > >  .TP
> > >  .B A6
> > > -Yes.
> > > +A file descriptor is the userspace counterpart of an internal kernel 
> > > handle.
> > > +Every time a process calls functions liks
> > > +.BR dup (2),
> > > +.BR dup2 (2)
> > > +or
> > > +.BR fork (2),
> > > +a new file descriptor referring to the same internal kernel handle is
> > > +created. The internal kernel handle remains alive until all the userspace
> > > +file descriptors have been closed.
> > > +The
> > > +.BR epoll (4)
> > > +interface automatically removes the internal kernel handle from the set,
> > > +once all the file descriptor instances have been closed.
> > >  .TP
> > >  .B Q7
> > >  If more than one event occurs between
> >
> > Davide,
> >
> > Two points.
> >
> > a) I did a
> >
> > s/internal kernel handle/open file description/
> >
> > since that is the POSIX term for the internal handle.
> >
> > b) It seems to me that you text doesn't quite make the point explicit
> > enough.  I've tried to rewrite it; could you please check:
> >
> >A6 Yes, but be aware of the following point.  A  file
> >   descriptor is a reference to an open file descrip-
> >   tion (see  open(2)).   Whenever  a  descriptor  is
> >   duplicated  via dup(2), dup2(2), fcntl(2) F_DUPFD,
> >   or fork(2), a new file descriptor referring to the
> >   same  open  file  description is created.  An open
> >   file description continues to exist until all file
> >   descriptors referring to it have been closed.  The
> >   epoll  interface  automatically  removes  a   file
> >   descriptor  from  an  epoll set only after all the
> >   file descriptors referring to the underlying  open
> >   file  handle  have  been  closed.  This means that
> >   even after a file descriptor that is  part  of  an
> >   epoll  set has been closed, events may be reported
> >   for that file descriptor if other file descriptors
> >   referring  to the same underlying file description
> >   remain open.
> >
> > Does that seem okay?  I plan to include th

Re: 2.6.25-rc2 regression in rt61pci wireless driver

2008-02-26 Thread Chris Clayton
Hi,

> >   I've bisected anyway and although the results are not absolutely
> > conclusive, as I neared the end of the process, I was amongst a bunch of
> > mac80211 patches. This set me on a path that resulted in me discovering
> > that with the rt61pci driver, I can freeze my wireless network connection
> > almost at will if I set mac82011's ieee80211_default_rc_algo parameter to
> > 'pid'. if the parametre is set to 'simple', the network seems to be
> > reliable. I've just let the ping application run on and ping another box
> > on my network almost 1500 times whilst repeatedly transferring a kernel
> > source tarball by ftp from another box and the network connection was
> > mantained That's with the parameter set to 'simple', if \I set it to
> > 'pid' the connection rarely survives more than 40 pings even without the
> > ftp activity.
> >
> >  If I replace my wireless card with one that uses the rtl8180 driver, the
> >  network connection seems to be reliable regardless of how I set the
> >  parameter, although I admit that i have not tested this extensively yet.
> > I'll do that now and report later.
>

I've rerun my tests with the rtl8180 driver and found the network to be 
reliable with the mac82011 module's ieee80211_default_rc_algo parameter set 
to either 'simple' or 'pid'. 

> I'm about to send 4 patches to this (linux-wireless) list with patches
> for rt2x00,
> most of them you already tested individually, but several people reported
> success after those patches.
>
> Hopefully it will be working for you as well. :)
>

Sorry, but that's not the case. I find the same results as without the 
patches. With the parameter set to 'pid', the network connection fails very 
quickly, but with it set to 'simple' I can ping and ftp files to and from my 
laptop as much as I like and the connection stays up. In fact, if anything 
the patches seem to have made the network even more fragile, in that it fails 
almost instantly once I start some network activity ( < 10 pings).

I'm sure this is not the hardware - it works perfectly with Windows XP, with 
2.6.23.14 plus the out-of-tree rt61 driver from serialmonkey, with the 
in-tree driver from 2.6.24.x and with 2.6.25-rc3 with the mac82011's 
ieee80211_default_rc_algo parameter set to 'simple'.

Like I say above, sorry!

Chris

> Ivo

-- 
Beauty is in the eye of the beerholder.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: + rcu-split-listh-and-move-rcu-protected-lists-into-rculisth.patch added to -mm tree

2008-02-26 Thread Josh Triplett
Franck Bui-Huu wrote:
> Josh Triplett wrote:
>> [I did not see this patch go by on any mailing list, so I replied to
>> the -mm mail and CCed LKML.]
>>
> 
> Well I'm pretty sure to have always CC'ed LKML, see for example:
> 
> http://lkml.org/lkml/2008/2/19/150
> http://lkml.org/lkml/2008/2/19/151

I must have missed it when I dug through the archive.  Thanks.

- Josh Triplett

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Is there a memory block device?

2008-02-26 Thread Valdis . Kletnieks
On Tue, 26 Feb 2008 19:53:36 +0100, rzryyvzy said:
> I know that tmpfs is a memmory filesystem. Is there a possibility to create 
> also a memory block device?
> Is there a possibility to create for example a 1 GB memory block device (from 
> the RAM)?

A better question would be:

What problem are you trying to solve by ysing a "memory block device"?  There
may well be other approaches that would work better, but it's hard to say.
Are you trying to avoid the buffer cache pool?  Ensure pages are in physical
memory? Or some other problem?


pgpgoVkj7j7vL.pgp
Description: PGP signature


Re: epoll and shared fd's

2008-02-26 Thread Davide Libenzi
On Tue, 26 Feb 2008, Michael Kerrisk wrote:

> Following up after quite some time:
> 
> Davide Libenzi wrote:
> > On Sat, 26 Jan 2008, Michael Kerrisk wrote:
> > 
> >> On Jan 25, 2008 12:57 AM, Davide Libenzi <[EMAIL PROTECTED]> wrote:
> >>> On Thu, 24 Jan 2008, Pierre Habouzit wrote:
> >>>
>  On Fri, Jan 18, 2008 at 09:10:18PM +, Davide Libenzi wrote:
> > On Fri, 18 Jan 2008, Pierre Habouzit wrote:
> >
> >>   Hi,
> >>
> >>   I just came across a strange behavior of epoll that seems to
> >> contradict the documentation. Here is what happens:
> >>
> >> * I have two processes P1 and P2, P1 accept()s connections, and send 
> >> the
> >>   resulting file descriptors to P2 through a unix socket.
> >>
> >> * P2 registers the received socket in his epollfd.
> >>
> >>   [time passes]
> >>
> >> * P2 is done with the socket and closes it
> >>
> >> * P2 gets events for the socket again !
> >>
> >>
> >>   Though the documentation says that if a process closes a file
> >> descriptor, it gets unregistered. And yes I'm sure that P2 doens't 
> >> dup()
> >> the file descriptor. Though (because of a bug) it was still open in
> >> P1[0], hence the referenced socket still live at the kernel level.
> >>
> >>   Of course the userland workaround is to force the EPOLL_CTL_DEL 
> >> before
> >> the close, which I now do, but costs me a syscall where I wanted to
> >> spare one :|
> > For epoll, a close is when the kernel file* is released (that is, when 
> > all
> > its instances are gone).
> > We could put a special handling in filp_close(), but I don't think is a
> > good idea, and we're better live with the current behaviour.
>    Okay, maybe updating the linux manpages to be more clear about that is
>  the way to go then. Thanks
> >>> Sure. I'll send Michael Kerrisk and updated statement for the A6 answer in
> >>> the epoll man page.
> >> Thanks Davide -- yes please send me a patch.
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> >> the body of a message to [EMAIL PROTECTED]
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >> Please read the FAQ at  http://www.tux.org/lkml/
> >>
> > 
> > Something like the one below ...
> > 
> > 
> > - Davide
> > 
> > 
> > 
> > --- epoll.4 2008-01-26 12:58:21.0 -0800
> > +++ epoll.4.new 2008-01-26 13:06:36.0 -0800
> > @@ -285,7 +285,19 @@
> >  sets automatically?
> >  .TP
> >  .B A6
> > -Yes.
> > +A file descriptor is the userspace counterpart of an internal kernel 
> > handle.
> > +Every time a process calls functions liks
> > +.BR dup (2),
> > +.BR dup2 (2)
> > +or
> > +.BR fork (2),
> > +a new file descriptor referring to the same internal kernel handle is
> > +created. The internal kernel handle remains alive until all the userspace
> > +file descriptors have been closed.
> > +The
> > +.BR epoll (4)
> > +interface automatically removes the internal kernel handle from the set,
> > +once all the file descriptor instances have been closed.
> >  .TP
> >  .B Q7
> >  If more than one event occurs between
> 
> Davide,
> 
> Two points.
> 
> a) I did a
> 
> s/internal kernel handle/open file description/
> 
> since that is the POSIX term for the internal handle.
> 
> b) It seems to me that you text doesn't quite make the point explicit
> enough.  I've tried to rewrite it; could you please check:
> 
>A6 Yes, but be aware of the following point.  A  file
>   descriptor is a reference to an open file descrip-
>   tion (see  open(2)).   Whenever  a  descriptor  is
>   duplicated  via dup(2), dup2(2), fcntl(2) F_DUPFD,
>   or fork(2), a new file descriptor referring to the
>   same  open  file  description is created.  An open
>   file description continues to exist until all file
>   descriptors referring to it have been closed.  The
>   epoll  interface  automatically  removes  a   file
>   descriptor  from  an  epoll set only after all the
>   file descriptors referring to the underlying  open
>   file  handle  have  been  closed.  This means that
>   even after a file descriptor that is  part  of  an
>   epoll  set has been closed, events may be reported
>   for that file descriptor if other file descriptors
>   referring  to the same underlying file description
>   remain open.
> 
> Does that seem okay?  I plan to include the text in man-pages-2.79.

I agree with Bodo, it is kinda confusing. The name "open file description",
even though POSIX, looks very similar to "file descriptor".
I honestly don't know how more easily such concept could be expressed. 
IMHO at least "internal kernel handle" does not play look-alike games with 
"file descriptor".



> Was the

Re: [PATCH] x86_64: make amd quad core 8 socket system not be clustered_box v2

2008-02-26 Thread Yinghai Lu
On Tue, Feb 26, 2008 at 10:42 AM, Ravikiran Thirumalai
<[EMAIL PROTECTED]> wrote:
> On Mon, Feb 25, 2008 at 09:27:42PM -0800, Yinghai Lu wrote:
>  >On Mon, Feb 25, 2008 at 8:05 PM, Ravikiran Thirumalai <[EMAIL PROTECTED]> 
> wrote:
>  >> On Tue, Feb 26, 2008 at 04:46:25AM +0100, Andi Kleen wrote:
>  >>
>  >>  >
>
> >>  >If you can't support that in your hardware you're supposed
>  >>  >to clear it.
>  >>
>  >>  Hmm! How would a hardware vendor do that? That doesn't seem to be clear 
> in
>  >>  the BKDG. (Well, this is the problem with undocumented features :()
>  >>
>  >any good sign for APIC_clustered box? there is apicid between cpus
>  >even all cpu are quadcore and fully populated?
>
>  I would suggest checking the SLIT distances -- On AMD boxes, if you have 
> three
>  different distances between nodes, then that system would be multiboard,
>  and there is no way TSCs can be synced.  On Intel boxes, if there are two
>  different distances between nodes, then this would be a multi board/multi
>  chassi box and TSCs won't be synced.  This is a more generic solution and
>  should work on Summit/Unisys boxes as well.  (I am ignoring Intel CSI for
>  now.  It might need the same treatment as AMD)

1. if acpi=off ?
2. some system will be treated wrong.
my four sockets system
ACPI: SLIT: nodes = 4
 10 13 13 16
 13 10 16 13
 13 16 10 13
 16 13 13 10
my eight sockets system
ACPI: SLIT: nodes = 8
 10 12 12 14 14 14 14 16
 12 10 14 12 14 14 12 14
 12 14 10 14 12 12 14 14
 14 12 14 10 12 12 14 14
 14 14 12 12 10 14 12 14
 14 14 12 12 14 10 14 12
 14 12 14 14 12 14 10 12
 16 14 14 14 14 12 12 10

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 19:16:11 +0100 Pavel Machek <[EMAIL PROTECTED]> wrote:

> On Tue 2008-02-26 13:10:01, Dave Jones wrote:
> > On Tue, Feb 26, 2008 at 06:59:54PM +0100, Pavel Machek wrote:
> >  
> >  > > if by 'custom' you mean the solution everyone agreed to work
> >  > > toward at the power management summit several years ago
> >  > > (hal/pm-utils) then, yes.
> >  > 
> >  > I must have been on different summit... I believe it is bad to tie
> >  > s2ram to hal, because it makes testing on minimal system hard.
> >  > 
> >  > Anyway, what is the "default" way to trigger s2ram for Andrew? Perhaps
> >  > Fedora already has his machine whitelisted...
> > 
> > There is no s2ram. pm-suspend uses the white/black-lists in pm-utils.
> > Remember that? The cross-distro package everyone agreed was a good idea
> > so that every distro didn't have their own magic utility ?
> 
> Well, we have cross-distro package, it is at suspend.sf.net , and it
> can bring up video - which is kind of important. (It is single binary,
> so it can be pagelocked -- which is important for s2disk).
> 
> Plus it does not depend on HAL.

Meanwhile, my computer continues to not work.

First thing we need to do is to work out why it won't stay suspended?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Odd performance observation for RAID0

2008-02-26 Thread Joe Landman
Hi folks:

  I posted this in linux-raid, though I thought it might interest the
kernel folks due to the subsystems in question.  No responses there.

  Executive summary version:  building a RAID0 across 2 large hardware
RAIDed disks results in buffered I/O performance that is similar to a
single one of these controllers.  Additional tests, breaking the raid
apart into 2 separate drives, yields the expected I/O performance when
using buffered IO, and 2 simultaneous IO operations, one to each disk.
 Direct IO doesn't show this performance anomaly and is fast in either
case.  Observed with kernel 2.6.23.14.

  A curious thing happens with 2.6.24.2, in that now direct IO
performance is as bad as buffered IO performance.

  The problem as stated, leads me to think that I might be running
into a point of serialization of the buffer cache.

  Details:

  I built a RAID0 stripe across two large hardware RAID cards
(identical cards/driver).  What I am finding is that direct IO is
about the performance I expect (2x the single RAID card) while
buffered IO is about the same as the performance of a single RAID
card.  This is true across chunk sizes of 64 through 4096k, with an
xfs file system.

 This is a 2.6.23.14 kernel.  I tried 2.6.24.2, and there the direct
IO on two RAID cards was the same speed as the direct and buffered IO
on one RAID card, even though the RAID0 striped across 2 RAID cards.

  There appears to be some issue with this combination of RAID0,
buffer cache, and the driver. Breaking the raid in 2, and performing
the same tests on each RAID card results in the expected performance
during buffered io and direct IO.

  Tests were simple reads and writes:

   dd if=/dev/zero of=/big/local.file bs=8388608 count=1

and

   dd if=/big/local.file of=/dev/null bs=8388608

added oflag=direct and iflag=direct for the direct io versions.  I
tried changing the default IO scheduler (cfq to deadline) though this
particular workload shouldn't make much of a difference (all reads or
all writes).  I tried altering queue depth, and a number of other
parameters. All told, they had limited impact.

  The end user of this system indicated that they will be using
fadvise mechanisms to handle cache hinting, and they will be doing
large block sequential streaming, so direct IO like performance should
be fine.  That said, I am concerned that the buffered IO case appears
serialized.  Of course we are not re-using the buffer for these tests,
so this could have an impact.  Along those lines, I tried adjusting
the "dirty" parameters to see what I could do

/proc/sys/vm/dirty_expire_centisecs
/proc/sys/vm/dirty_writeback_centisecs
/proc/sys/vm/dirty_ratio
/proc/sys/vm/dirty_background_ratio

I tried various changes that I thought might work (increasing the
dirty_ratio while decreasing the dirty_expire_centisecs).  I did get
some impact, though it was mostly in the direction of lower
performance.

The questions I have are, could the raid0 device be effectively
serializing access to the buffer cache?  The hardware RAID devices I
am using are quite fast, so this might represent a different area of
testing than raid0 normally gets.

Other possibilities I have thought of include oddities in xfs (I tried
ext3 as well, though I ran into an 8TB limit) and how it interacts
with the buffer cache.  Driver oddities (seen on several versions of
this driver).  To try to eliminate these other effects, I broke the
unit up into 2 separate devices (1 per RAID card), and built two file
systems.  Simultaneous IO to each file system gave expected
performance.  My take on that is that the driver (handling both RAIDs)
has no trouble interacting with the OS and the buffer cache under
heavy IO situations.  I used xfs on each file system, so it further
suggests that xfs is not likely the problem.

With all this said, does anyone have any suggestions on this?  Or even
where to look in the raid0.c code (or elsewhere) to see what is going
on?

Thanks!

Joe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: extra bytes written to SATA DVD drive on kernel 2.6.23 till 2.6.24.2

2008-02-26 Thread Gerold Jury
It does happen with 2.6.22 too.

Do you see any known pattern in these extra bytes ?

Best Regards
Gerold


  2a 00 00 00 00 00 00 00  40 00 00 00 00 00 00 00  |[EMAIL PROTECTED]|
0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0002  2a 00 00 00 00 40 00 00  40 00 00 00 00 40 00 00  |[EMAIL 
PROTECTED]@[EMAIL PROTECTED]|
00020010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0004  2a 00 00 00 00 80 00 00  40 00 00 00 00 80 00 00  |[EMAIL PROTECTED]|
00040010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
0006  2a 00 00 00 00 c0 00 00  02 00 00 00 00 c0 00 00  |*...|
00060010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
00061010  00 00 00 00 00 00 00 00  2a 00 00 00 00 c2 00 00  |*...|
00061020  40 00 00 00 00 c2 00 00  00 00 00 00 00 00 00 00  |@...|
00061030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
00081010  00 00 00 00 00 00 00 00  2a 00 00 00 01 02 00 00  |*...|
00081020  40 00 00 00 01 02 00 00  00 00 00 00 00 00 00 00  |@...|
00081030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
000a1010  00 00 00 00 00 00 00 00  2a 00 00 00 01 42 00 00  |*B..|
000a1020  40 00 00 00 01 42 00 00  00 00 00 00 00 00 00 00  |@B..|
000a1030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*
000c1010  00 00 00 00 00 00 00 00  2a 00 00 00 01 82 00 00  |*...|
000c1020  40 00 00 00 01 82 00 00  00 00 00 00 00 00 00 00  |@...|
000c1030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ||
*



On Tuesday 26 February 2008 00:32:49 Andrew Morton wrote:
>On Mon, 25 Feb 2008 20:05:22 +0100 Gerold Jury <[EMAIL PROTECTED]> wrote:
>> Hello,
>>
>> I have two DVD drives, one connected to the SATA port (LG) the other to
>> the IDE port (PHILIPS) of a via chipset.
>> They are driven by VIA SATA support (SATA_VIA) and VIA PATA support
>> (PATA_VIA).
>>
>> When I write an iso image to the drive on the SATA port /dev/sr0 it has
>> some extra bytes on disk which make the disk unreadable.
>> Writing to the IDE drive /dev/sr1 works well.
>>
>> A simple test with a DVD RAM and dd instead of growisofs
>>
>> dd if=/dev/zero of=/dev/srX bs=1024k count=10
>>
>> and a readback afterwards
>>
>> dd if=/dev/srX of=imageX.bin bs=1024k count=10
>>
>> gives me an all zero file from the IDE drive but a file
>> full of probably scsi commands for the SATA drive and looks like
>>
>>   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
>> || *
>> 0002  2a 00 00 00 00 40 00 00  40 00 00 00 00 40 00 00 
>> |[EMAIL PROTECTED]@[EMAIL PROTECTED]| 00020010  00 00 00 00 00 00 00 00  00 
>> 00 00 00 00 00 00
>> 00  || *
>> 0004  2a 00 00 00 00 80 00 00  40 00 00 00 00 80 00 00 
>> |[EMAIL PROTECTED]| 00040010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00
>> 00  || *
>> 0006  2a 00 00 00 00 c0 00 00  02 00 00 00 00 c0 00 00 
>> |*...| 00060010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00
>> 00  || *
>> 00061010  00 00 00 00 00 00 00 00  2a 00 00 00 00 c2 00 00 
>> |*...| 00061020  40 00 00 00 00 c2 00 00  00 00 00 00 00 00 00
>> 00  |@...| 00061030  00 00 00 00 00 00 00 00  00 00 00 00 00
>> 00 00 00  || *
>> 00081010  00 00 00 00 00 00 00 00  2a 00 00 00 01 02 00 00 
>> |*...| 00081020  40 00 00 00 01 02 00 00  00 00 00 00 00 00 00
>> 00  |@...| 00081030  00 00 00 00 00 00 00 00  00 00 00 00 00
>> 00 00 00  || *
>> 000a1010  00 00 00 00 00 00 00 00  2a 00 00 00 01 42 00 00 
>> |*B..| 000a1020  40 00 00 00 01 42 00 00  00 00 00 00 00 00 00
>> 00  |@B..| 000a1030  00 00 00 00 00 00 00 00  00 00 00 00 00
>> 00 00 00  || *
>> 000c1010  00 00 00 00 00 00 00 00  2a 00 00 00 01 82 00 00 
>> |*...| 000c1020  40 00 00 00 01 82 00 00  00 00 00 00 00 00 00
>> 00  |@...| 000c1030  00 00 00 00 00 00 00 00  00 00 00 00 00
>> 00 00 00  ||
>>
>> I really need some hints to make the SATA drive usable, please.
>
>(added linux-ide)
>
>Did any earlier kernel work OK?  2.6.22?
>
>Thanks.
>
>> uname -a
>> Linux blaubaer 2.6.24.2 #4 Sun Feb 24 21:50:21 CET 2008 x86_64 AMD
>> Athlon(tm) 64 Processor 3400+ AuthenticAMD GNU/Linux
>>
>> lspvi -v
>>
>> 00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID
>> Controller (rev 80)
>> Subsystem: ASUSTeK Computer Inc. A7V600/K8V Deluxe/K8V-X/A8V
>> Deluxe motherboard
>> Flags: bus master, medium devsel, latency 64, IRQ 20
>> I/O ports at e800 [size=8]
>> I/O ports at e400 [size=4]
>> I/O ports at e000 [size=8]
>> I/O ports at d800 [size=4]
>> I/O ports at d400 [size=16]
>> I/O ports at d00

[PATCH] x86_64: Seperate mmconf for fam10h out from setup_64.c

2008-02-26 Thread Yinghai Lu
Seperate mmconf for fam10h out from setup_64.c

Signed-off-by: Yinghai Lu <[EMAIL PROTECTED]>

diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 199f8b5..4f2b9ed 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -101,4 +101,6 @@ ifeq ($(CONFIG_X86_64),y)
 obj-$(CONFIG_GART_IOMMU)   += pci-gart_64.o aperture_64.o
 obj-$(CONFIG_CALGARY_IOMMU)+= pci-calgary_64.o tce_64.o
 obj-$(CONFIG_SWIOTLB)  += pci-swiotlb_64.o
+
+obj-$(CONFIG_PCI_MMCONFIG) += mmconf-fam10h_64.o
 endif
diff --git a/arch/x86/kernel/mmconf-fam10h_64.c 
b/arch/x86/kernel/mmconf-fam10h_64.c
new file mode 100644
index 000..3789792
--- /dev/null
+++ b/arch/x86/kernel/mmconf-fam10h_64.c
@@ -0,0 +1,215 @@
+/*
+ * AMD Family 10h mmconfig enablement
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+struct pci_hostbridge_probe {
+   u32 bus;
+   u32 slot;
+   u32 vendor;
+   u32 device;
+};
+
+static u64 __cpuinitdata fam10h_pci_mmconf_base;
+static int __cpuinitdata fam10h_pci_mmconf_base_status;
+
+static struct pci_hostbridge_probe pci_probes[] __cpuinitdata = {
+   { 0, 0x18, PCI_VENDOR_ID_AMD, 0x1200 },
+   { 0xff, 0, PCI_VENDOR_ID_AMD, 0x1200 },
+};
+
+struct range {
+   u64 start;
+   u64 end;
+};
+
+static int __cpuinit cmp_range(const void *x1, const void *x2)
+{
+   const struct range *r1 = x1;
+   const struct range *r2 = x2;
+   int start1, start2;
+
+   start1 = r1->start >> 32;
+   start2 = r2->start >> 32;
+
+   return start1 - start2;
+}
+
+/*[47:0] */
+/* need to avoid (0xfd<<32) and (0xfe<<32), ht used space */
+#define FAM10H_PCI_MMCONF_BASE (0xfcULL<<32)
+#define BASE_VALID(b) ((b != (0xfdULL << 32)) && (b != (0xfeULL << 32)))
+static void __cpuinit get_fam10h_pci_mmconf_base(void)
+{
+   int i;
+   unsigned bus;
+   unsigned slot;
+   int found;
+
+   u64 val;
+   u32 address;
+   u64 tom2;
+   u64 base = FAM10H_PCI_MMCONF_BASE;
+
+   int hi_mmio_num;
+   struct range range[8];
+
+   /* only try to get setting from BSP */
+   /* -1 or 1 */
+   if (fam10h_pci_mmconf_base_status)
+   return;
+
+   if (!early_pci_allowed())
+   goto fail;
+
+   found = 0;
+   for (i = 0; i < ARRAY_SIZE(pci_probes); i++) {
+   u32 id;
+   u16 device;
+   u16 vendor;
+
+   bus = pci_probes[i].bus;
+   slot = pci_probes[i].slot;
+   id = read_pci_config(bus, slot, 0, PCI_VENDOR_ID);
+
+   vendor = id & 0x;
+   device = (id>>16) & 0x;
+   if (pci_probes[i].vendor == vendor &&
+   pci_probes[i].device == device) {
+   found = 1;
+   break;
+   }
+   }
+
+   if (!found)
+   goto fail;
+
+   /* SYS_CFG */
+   address = MSR_K8_SYSCFG;
+   rdmsrl(address, val);
+
+   /* TOP_MEM2 is not enabled? */
+   if (!(val & (1<<21))) {
+   tom2 = 0;
+   } else {
+   /* TOP_MEM2 */
+   address = MSR_K8_TOP_MEM2;
+   rdmsrl(address, val);
+   tom2 = val & (0xULL<<32);
+   }
+
+   if (base <= tom2)
+   base = tom2 + (1ULL<<32);
+
+   /*
+* need to check if the range is in the high mmio range that is
+* above 4G
+*/
+   hi_mmio_num = 0;
+   for (i = 0; i < 8; i++) {
+   u32 reg;
+   u64 start;
+   u64 end;
+   reg = read_pci_config(bus, slot, 1, 0x80 + (i << 3));
+   if (!(reg & 3))
+   continue;
+
+   start = (((u64)reg) << 8) & (0xffULL << 32); /* 39:16 on 31:8*/
+   reg = read_pci_config(bus, slot, 1, 0x84 + (i << 3));
+   end = (((u64)reg) << 8) & (0xffULL << 32); /* 39:16 on 31:8*/
+
+   if (!end)
+   continue;
+
+   range[hi_mmio_num].start = start;
+   range[hi_mmio_num].end = end;
+   hi_mmio_num++;
+   }
+
+   if (!hi_mmio_num)
+   goto out;
+
+   /* sort the range */
+   sort(range, hi_mmio_num, sizeof(struct range), cmp_range, NULL);
+
+   if (range[hi_mmio_num - 1].end < base)
+   goto out;
+   if (range[0].start > base)
+   goto out;
+
+   /* need to find one window */
+   base = range[0].start - (1ULL << 32);
+   if ((base > tom2) && BASE_VALID(base))
+   goto out;
+   base = range[hi_mmio_num - 1].end + (1ULL << 32);
+   if ((base > tom2) && BASE_VALID(base))
+   goto out;
+   /* need to find window between ranges */
+   if (hi_mmio_num > 1)
+   for (i = 0; i < hi_mmio_num - 1; i++) {
+   if (range[i + 1].start > (

Is there a memory block device?

2008-02-26 Thread rzryyvzy
I know that tmpfs is a memmory filesystem. Is there a possibility to create 
also a memory block device?

Is there a possibility to create for example a 1 GB memory block device (from 
the RAM)?


-- 
E-Mail sent with anti-spam site TrashMail.net!
Free disposable email addresses: http://www.trashmail.net/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.25 patch] drivers/crypto/hifn_795x.c: fix 64bit division

2008-02-26 Thread Evgeniy Polyakov
Hi Adrian.

On Tue, Feb 26, 2008 at 05:34:21PM +0200, Adrian Bunk ([EMAIL PROTECTED]) wrote:
> Using ndelay() with a 64bit variable as parameter can result in build 
> errors like the following on some 32bit systems when it results in a 
> 64bit division:
> 
> <--  snip  -->
> 
>  ...
>   MODPOST 759 modules
> ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
> 
> <--  snip  -->
> 
> Reported by Martin Michlmayr.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

Yep, ndelay() uses division, thanks a lot Adrian for spotting this.

Herbert, please apply.

ACK.

-- 
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: epoll design problems with common fork/exec patterns

2008-02-26 Thread Davide Libenzi
On Tue, 26 Feb 2008, Michael Kerrisk wrote:

> Davide Libenzi wrote:
> > On Sun, 28 Oct 2007, David Schwartz wrote:
> > 
> >> Eric Dumazet wrote:
> >>
> >>> Events are not necessarly reported "by descriptors". epoll uses an opaque
> >>> field provided by the user.
> >>>
> >>> It's up to the user to properly chose a tag that will makes sense
> >>> if the user
> >>> app is playing dup()/close() games for example.
> >> Great. So the only issue then is that the documentation is confusing. It
> >> frequently uses the term "fd" where it means file. For example, it says:
> >>
> >>   Q1 What  happens  if  you  add  the  same fd to an
> >> epoll_set
> >>  twice?
> >>
> >>   A1 You will probably get EEXIST.  However,  it  is
> >> possible
> >>  that  two  threads  may  add the same fd twice. This 
> >> is
> >> a
> >>  harmless condition.
> >>
> >> This gives no reason to think there's anything wrong with adding the same
> >> file twice so long as you do so through different descriptors. (One can
> >> imagine an application that does this to segregate read and write 
> >> operations
> >> to avoid a race where the descriptor is closed from under a writer due to
> >> handling a fatal read error.) Obviously, that won't work.
> > 
> > I agree, that is confusing. However, you can safely add two different file 
> > descriptors pointing to the same file*, with different event masks, and 
> > that will work as expected.
> 
> So can I summarize what I understand:
> 
> a) Adding the same file descriptor twice to an epoll set will cause an
> error (EEXIST).

Yes.



> b) In a separate message to linux-man, Chris Heath says that two threads
> *can't* add the same fd twice to an epoll set, despite what the existing
> man page text says.  I haven't tested that, but it sounds to me as though
> it is likely to be true.  Can you comment please Davide?

Yes, you can't add the same fd twice. Think about a DB where "file*,fd" is 
the key.



> c) It is possible to add duplicated file descriptors referring to the same
> underlying open file description ("file *").  As you note, this can be a
> useful filtering technique, if the two file descriptors specify different
> masks.
> 
> Assuming that is all correct, for man-pages-2.79, I've reworked the text
> for Q1/A1 as follows:
> 
>Q1 What  happens  if you add the same file descriptor
>   to an epoll set twice?
> 
>A1 You will probably get EEXIST.  However, it is pos-
>   sible   to   add  a  duplicate  (dup(2),  dup2(2),
>   fcntl(2) F_DUPFD, fork(2)) descriptor to the  same
>   epoll  set.   This  can  be a useful technique for
>   filtering events, if the duplicate  file  descrip-
>   tors are registered with different events masks.
> 
> Seem okay Davide?

Looks sane to me.



- Davide


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.25-rc2 Regression Thinkpad acpi

2008-02-26 Thread Lukas Hejtmanek
On Mon, Feb 25, 2008 at 08:00:35PM -0300, Henrique de Moraes Holschuh wrote:
> On Mon, 25 Feb 2008, Lukas Hejtmanek wrote:
> > volume keys work. But anything through acpid does not. Even AC/battery 
> > switch
> > is not signalized. So the bug may be somewhere else?
> 
> Yeah, there is an EC-related regression in 2.6.25-rc3 that bites your
> thinkpad.  I don't have a link to it right now, but if you look for the
> messages to LKML on the last 48h, you will find it.

this one fixes all my troubles with thinkpad hotkeys in rc3.
http://lkml.org/lkml/2008/2/25/400
 
> > [  418.816087] thinkpad_acpi: requested hot key mask 0x, but 
> > firmware forced it to 0x00ff
> 
> Don't do this.  Just let the driver select the default mask, unless you
> *really* know better.

OK, thanks.

-- 
Lukáš Hejtmánek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86_64: make amd quad core 8 socket system not be clustered_box v2

2008-02-26 Thread Ravikiran Thirumalai
On Mon, Feb 25, 2008 at 09:27:42PM -0800, Yinghai Lu wrote:
>On Mon, Feb 25, 2008 at 8:05 PM, Ravikiran Thirumalai <[EMAIL PROTECTED]> 
>wrote:
>> On Tue, Feb 26, 2008 at 04:46:25AM +0100, Andi Kleen wrote:
>>
>>  >
>>  >If you can't support that in your hardware you're supposed
>>  >to clear it.
>>
>>  Hmm! How would a hardware vendor do that? That doesn't seem to be clear in
>>  the BKDG. (Well, this is the problem with undocumented features :()
>>
>any good sign for APIC_clustered box? there is apicid between cpus
>even all cpu are quadcore and fully populated?

I would suggest checking the SLIT distances -- On AMD boxes, if you have three
different distances between nodes, then that system would be multiboard,
and there is no way TSCs can be synced.  On Intel boxes, if there are two
different distances between nodes, then this would be a multi board/multi
chassi box and TSCs won't be synced.  This is a more generic solution and
should work on Summit/Unisys boxes as well.  (I am ignoring Intel CSI for
now.  It might need the same treatment as AMD)

Comments?

Kiran
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Performance problems with 3ware 9500S-4LP and 2.6.25-rc3

2008-02-26 Thread Chris Snook

Andre Noll wrote:

we are experiencing massive performance problems with two of our
Linux servers that contain 3ware controllers on a Tyan mainboard and
a couple of 1T disks.

During the daily cron job that uses rsync to sync a 500G file system
from another machine to the raid on the 3ware controller the load
jumps up, and the machine becomes sluggish as hell. For example, an
ssh login to that machine takes minutes to complete and ldap becomes
unreliable while the rsync job is running. Even Nagios complains
about the machine being down while rsync is running.


You're putting your box under astronomical load.  This is generally 
regarded as a bad idea, regardless of how well your storage controller 
is performing.  Can you measure the single-threaded throughput (say, 
coping one huge file, and then syncing) to give us a baseline 
performance figure?  rsync will happily peg your box, your network, and 
your cat if you let it.


-- Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: + rcu-split-listh-and-move-rcu-protected-lists-into-rculisth.patch added to -mm tree

2008-02-26 Thread Franck Bui-Huu
Hi,

Josh Triplett wrote:
> [I did not see this patch go by on any mailing list, so I replied to
> the -mm mail and CCed LKML.]
> 

Well I'm pretty sure to have always CC'ed LKML, see for example:

http://lkml.org/lkml/2008/2/19/150
http://lkml.org/lkml/2008/2/19/151

Thanks,
Franck
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


(regression) kernel/timeconst.h bugs with HZ=128

2008-02-26 Thread David Brownell
I see these warnings on 32 bit ARM systems:

  CC  kernel/time.o
kernel/time.c: In function 'msecs_to_jiffies':
kernel/time.c:472: warning: integer constant is too large for 'long' type
kernel/time.c: In function 'usecs_to_jiffies':
kernel/time.c:487: warning: integer constant is too large for 'long' type

Line 472: 
return ((u64)MSEC_TO_HZ_MUL32 * m + MSEC_TO_HZ_ADJ32)
line 487:
return ((u64)USEC_TO_HZ_MUL32 * u + USEC_TO_HZ_ADJ32)

The problem seems to be that these constants from kernel/timeconst.h
have too many digits:

#define ONLY_THIRTYTWO_BITS 0x01234567

#define MSEC_TO_HZ_ADJ320x3f7ced916
#define USEC_TO_HZ_ADJ320xfffbce4217d

Those *_ADJ32 constants should have "ULL" suffixes, yes?
Adding that by hand resolves the problem, but only until
the next time that header file gets regenerated.

Someone with observable Perl-fu should fix this ...

- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 2/2] ib fmr pool: flush used clean entries

2008-02-26 Thread Pete Wyckoff
Commit a3cd7d9070be417a21905c997ee32d756d999b38 (IB/fmr_pool:
ib_fmr_pool_flush() should flush all dirty FMRs) caused a
regression for iSER and was reverted in
e5507736c6449b3253347eed6f8ea77a28cf688e.

This change attempts to redo the original patch so that all used
FMR entries are flushed when ib_flush_fmr_pool() is called,
and other FMR users are not affected.  Simply move used entries
from the clean list onto the dirty list before letting the
cleanup thread do its job.

Signed-off-by: Pete Wyckoff <[EMAIL PROTECTED]>
---
 drivers/infiniband/core/fmr_pool.c |   17 -
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/drivers/infiniband/core/fmr_pool.c 
b/drivers/infiniband/core/fmr_pool.c
index 4044fdf..06d502c 100644
--- a/drivers/infiniband/core/fmr_pool.c
+++ b/drivers/infiniband/core/fmr_pool.c
@@ -398,8 +398,23 @@ EXPORT_SYMBOL(ib_destroy_fmr_pool);
  */
 int ib_flush_fmr_pool(struct ib_fmr_pool *pool)
 {
-   int serial = atomic_inc_return(&pool->req_ser);
+   int serial;
+   struct ib_pool_fmr *fmr, *next;
+
+   /*
+* The free_list holds FMRs that may have been used
+* but have not been remapped enough times to be dirty.
+* Put them on the dirty list now so that the cleanup
+* thread will reap them too.
+*/
+   spin_lock_irq(&pool->pool_lock);
+   list_for_each_entry_safe(fmr, next, &pool->free_list, list) {
+   if (fmr->remap_count > 0)
+   list_move(&fmr->list, &pool->dirty_list);
+   }
+   spin_unlock_irq(&pool->pool_lock);
 
+   serial = atomic_inc_return(&pool->req_ser);
wake_up_process(pool->thread);
 
if (wait_event_interruptible(pool->force_wait,
-- 
1.5.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/2] Revert "IB/fmr_pool: ib_fmr_pool_flush() should flush all dirty FMRs"

2008-02-26 Thread Pete Wyckoff
This reverts commit a3cd7d9070be417a21905c997ee32d756d999b38.

The original commit breaks iSER reliably, making it complain:

iser: iser_reg_page_vec:ib_fmr_pool_map_phys failed: -11

The FMR cleanup thread runs ib_fmr_batch_release() as dirty
entries build up.  This commit causes clean but used FMR
entries also to be purged.  During that process, another thread
can see that there are no free FMRs and fail, even though
there should always have been enough available.

Signed-off-by: Pete Wyckoff <[EMAIL PROTECTED]>
---
 drivers/infiniband/core/fmr_pool.c |   21 ++---
 1 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/drivers/infiniband/core/fmr_pool.c 
b/drivers/infiniband/core/fmr_pool.c
index 7f00347..4044fdf 100644
--- a/drivers/infiniband/core/fmr_pool.c
+++ b/drivers/infiniband/core/fmr_pool.c
@@ -139,7 +139,7 @@ static inline struct ib_pool_fmr 
*ib_fmr_cache_lookup(struct ib_fmr_pool *pool,
 static void ib_fmr_batch_release(struct ib_fmr_pool *pool)
 {
int ret;
-   struct ib_pool_fmr *fmr, *next;
+   struct ib_pool_fmr *fmr;
LIST_HEAD(unmap_list);
LIST_HEAD(fmr_list);
 
@@ -158,20 +158,6 @@ static void ib_fmr_batch_release(struct ib_fmr_pool *pool)
 #endif
}
 
-   /*
-* The free_list may hold FMRs that have been put there
-* because they haven't reached the max_remap count.
-* Invalidate their mapping as well.
-*/
-   list_for_each_entry_safe(fmr, next, &pool->free_list, list) {
-   if (fmr->remap_count == 0)
-   continue;
-   hlist_del_init(&fmr->cache_node);
-   fmr->remap_count = 0;
-   list_add_tail(&fmr->fmr->list, &fmr_list);
-   list_move(&fmr->list, &unmap_list);
-   }
-
list_splice(&pool->dirty_list, &unmap_list);
INIT_LIST_HEAD(&pool->dirty_list);
pool->dirty_len = 0;
@@ -384,6 +370,11 @@ void ib_destroy_fmr_pool(struct ib_fmr_pool *pool)
 
i = 0;
list_for_each_entry_safe(fmr, tmp, &pool->free_list, list) {
+   if (fmr->remap_count) {
+   INIT_LIST_HEAD(&fmr_list);
+   list_add_tail(&fmr->fmr->list, &fmr_list);
+   ib_unmap_fmr(&fmr_list);
+   }
ib_dealloc_fmr(fmr->fmr);
list_del(&fmr->list);
kfree(fmr);
-- 
1.5.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 0/2] (was Re: [ofa-general] fmr pool free_list empty)

2008-02-26 Thread Pete Wyckoff
[EMAIL PROTECTED] wrote on Mon, 25 Feb 2008 15:02 -0800:
> Ugh.
[pw wrote:]
>  > Looking at the FMR dirty list unmapping code in
>  > ib_fmr_batch_release(), there is a section that pulls all the dirty
>  > entries onto a list that it will later unmap and put back on the
>  > free list.
> 
>  > But it also plans to unmap all the free entries that have ever been
>  > remapped:
> 
> Yes, this came from a3cd7d90 ("IB/fmr_pool: ib_fmr_pool_flush() should
> flush all dirty FMRs").  That solved a real problem for Olaf, because
> otherwise dirty FMRs with not at the max map count might never get
> invalidated.  It's not exactly an optimization but rather a
> correctness issue, because RDS relies on killing mapping eventually.
> 
> On the other hand, this behavior clearly does lead to the possibility
> of leaving the free list temporarily empty for stupid reasons.
> 
> I don't see a really good way to fix this at the momemnt, need to
> meditate a little.

Adding CCs in case some iser users are not on the openfabrics list.
Original message is here:
http://lists.openfabrics.org/pipermail/general/2008-February/047111.html

This quoted commit is a regression for iSER.  Not sure if it causes
problems for the other FMR user, SRP.  It went in after v2.6.24.
Following this mail are two patches.  One to revert the change, and
one to attempt to do Olaf's patch in such a way that it does not
cause problems for other FMR users.

I haven't tested the patches with RDS.  It apparently isn't in the
tree yet.  In fact, there are no users of ib_flush_fmr_pool() in the
tree, which is the only function affected by the second patch.  But
iSER is working again in my scenario.

As a side note, I don't remember seeing this patch on the
openfabrics mailing list.  Perhaps I missed it.  Sometimes these
sorts of interactions can be spotted if proposed changes get wider
attention.

-- Pete
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [BUILD_FAILURE] Linux 2.6.25-rc3 - various unexported functions () on powerpc

2008-02-26 Thread Adrian Bunk
On Tue, Feb 26, 2008 at 11:48:29PM +0530, Kamalesh Babulal wrote:
> Adrian Bunk wrote:
> > On Tue, Feb 26, 2008 at 07:59:08PM +0530, Kamalesh Babulal wrote:
> >> Hi,
> >>
> >> The 2.6.25-rc3 kernel build fails on powerpc with allyesconfig config 
> >> option,
> >> the .config has been attached.
> >> ...
> > 
> > Builds fine here.
> > 
> > Local problem (e.g. disk full) on your machine?
> > 
> > cu
> > Adrian
> > 
> Hi Adrain,

Hi Kamalseh,  ;)

> It Builds fine on another powerpc box with the same .config file, the problem 
> seems to be with the gcc
> on that box, the reported build failure might have been the side effect of 
> the same. 
> 
> 
> drivers/md/raid6int8.c: In function `raid6_int8_gen_syndrome':
> drivers/md/raid6int8.c:185: error: unable to find a register to spill in 
> class `FLOAT_REGS'
> drivers/md/raid6int8.c:185: error: this is the insn:
> (insn:HI 619 799 638 4 drivers/md/raid6int8.c:168 (set (mem:DI (plus:DI 
> (reg/v/f:DI 122 [ p ])
> (reg/v:DI 66 ctr [orig:124 d ] [124])) [0 S8 A64])
> (reg/v:DI 129 [ wp0 ])) 320 {*movdi_internal64} (nil)
> (expr_list:REG_DEAD (reg/v:DI 129 [ wp0 ])
> (nil)))
> drivers/md/raid6int8.c:185: confused by earlier errors, bailing out
> make[2]: *** [drivers/md/raid6int8.o] Error 1
> make[1]: *** [drivers/md] Error 2
> make: *** [drivers] Error 2
> 
> # gcc --version
> gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)

this means your quite old vendor gcc has a bug.

> Thanks & Regards,
> Kamalesh Babulal,

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.24-git: kmap_atomic() WARN_ON()

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 11:32:24 -0500 Jeff Garzik <[EMAIL PROTECTED]> wrote:

> Ingo Molnar wrote:
> > * Jeff Garzik <[EMAIL PROTECTED]> wrote:
> > 
> >> +  unsigned long flags;
> >> +
> >> +  local_irq_save(flags);
> > 
> > hm, couldnt we attach the irq disabling to some spinlock, in a natural 
> > way? Explicit flags fiddling is a PITA once we do things like threaded 
> > irq handlers, -rt, etc.
> 
> Attaching the irq disabling to some spinlock is what would be 
> artificial...  See the ahci.c patch earlier in this thread.  It is taken 
> without spin_lock_irqsave() in the interrupt handler, and there is no 
> reason to disable interrupts for the entirety of the interrupt handler 
> run -- only the part where we call kmap.
> 
> This is only being done to satisfy kmap_atomic's requirements, not libata's.
> 
> I could add a "kmap lock" but that just seems silly.
> 

It's a bit sad to disable interupts across a memset (how big is it?) just
for the small proportion of cases which are accessing a highmem page.

What you could do is to add an `unsigned long *flags' arg to
ata_scsi_rbuf_get() and ata_scsi_rbuf_put(), and then, in
ata_scsi_rbuf_get() do

if (PageHighmem(page))
local_irq_disable(*flags);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Dave Jones
On Tue, Feb 26, 2008 at 07:16:11PM +0100, Pavel Machek wrote:
 > On Tue 2008-02-26 13:10:01, Dave Jones wrote:
 > > On Tue, Feb 26, 2008 at 06:59:54PM +0100, Pavel Machek wrote:
 > >  
 > >  > > if by 'custom' you mean the solution everyone agreed to work
 > >  > > toward at the power management summit several years ago
 > >  > > (hal/pm-utils) then, yes.
 > >  > 
 > >  > I must have been on different summit... I believe it is bad to tie
 > >  > s2ram to hal, because it makes testing on minimal system hard.
 > >  > 
 > >  > Anyway, what is the "default" way to trigger s2ram for Andrew? Perhaps
 > >  > Fedora already has his machine whitelisted...
 > > 
 > > There is no s2ram. pm-suspend uses the white/black-lists in pm-utils.
 > > Remember that? The cross-distro package everyone agreed was a good idea
 > > so that every distro didn't have their own magic utility ?
 > 
 > Well, we have cross-distro package, it is at suspend.sf.net , and it
 > can bring up video - which is kind of important. (It is single binary,
 > so it can be pagelocked -- which is important for s2disk).
 > 
 > Plus it does not depend on HAL.

Neither does pm-utils.  Once again for the hard of thinking..

The mechanism belongs in pm-utils.  HAL is just a fancy wrapper around that.
Don't want/like hal? fine, a smaller wrapper around pm-suspend and friends
is trivial (or even unnecessary if you're happy with running pm-suspend by hand)

Dave

-- 
http://www.codemonkey.org.uk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

2008-02-26 Thread David Schwartz

> "David Schwartz" <[EMAIL PROTECTED]> writes:

> > I don't know who told you that or why, but it's obvious nonsense,

> Correct.

> > Exports should be marked GPL if and only if they cannot be used
> > except in a derivative work. If it is possible to use them
> > without taking
> > sufficient protectable expression, they should not be marked GPL.

> This isn't very obvious to me.

It may not be obvious, but it is the design and purpose of marking exports
GPL.

> The licence doesn't talk about GPL or non-GPL exports. It doesn't
> restrict the use, only distribution of the software. One is free to
> remove _GPL from the code and distribute it anyway (except perhaps for
> some DMCA nonsense).

That's true. The DMCA doesn't prevent it, since marking symbols is *not* a
license enforcement mechanism.

> If a code is a derivative work it has to be distributed (use is not
> restricted) under GPL, EXPORT _GPL or not _GPL.

Of course.

> One may say _GPL is a strong indication that all users are
> automatically a derivative works, but it's only that - indication. It
> doesn't mean they are really derivative works and it doesn't mean a
> module not using any _GPL exports isn't a derivative.

Of course. (The only people who argue otherwise are the 'linking makes a
derivative work' idiots.)

> I think introducing these _GPL symbols was a mistake in the first place.

Perhaps, since people seem to be trying to refight the same battles again.

The agreement made when the feature was added was that EXPORT_GPL was not a
license enforcement mechanism but was an indication that someone believed
that any use of the symbol was possible only a derivative work that would
need to be distributed under the GPL.

> Actually I think the _GPL exports are really harmful - somebody
> distributing a binary module may claim he/she doesn't violate the GPL
> because the module uses only non-GPL exports.

Anyone can argue anything. That would be an obviously stupid argument.
Perhaps clearer documentation might be helpful, but the GPL speaks for
itself.

> OTOH GPL symbols give
> _us_ exactly nothing.

They serve as a warning and, as a practical matter, may make it a bit more
difficult to violate the license.

DS


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [BUILD_FAILURE] Linux 2.6.25-rc3 - various unexported functions () on powerpc

2008-02-26 Thread Kamalesh Babulal
Adrian Bunk wrote:
> On Tue, Feb 26, 2008 at 07:59:08PM +0530, Kamalesh Babulal wrote:
>> Hi,
>>
>> The 2.6.25-rc3 kernel build fails on powerpc with allyesconfig config option,
>> the .config has been attached.
>> ...
> 
> Builds fine here.
> 
> Local problem (e.g. disk full) on your machine?
> 
> cu
> Adrian
> 
Hi Adrain,

It Builds fine on another powerpc box with the same .config file, the problem 
seems to be with the gcc
on that box, the reported build failure might have been the side effect of the 
same. 


drivers/md/raid6int8.c: In function `raid6_int8_gen_syndrome':
drivers/md/raid6int8.c:185: error: unable to find a register to spill in class 
`FLOAT_REGS'
drivers/md/raid6int8.c:185: error: this is the insn:
(insn:HI 619 799 638 4 drivers/md/raid6int8.c:168 (set (mem:DI (plus:DI 
(reg/v/f:DI 122 [ p ])
(reg/v:DI 66 ctr [orig:124 d ] [124])) [0 S8 A64])
(reg/v:DI 129 [ wp0 ])) 320 {*movdi_internal64} (nil)
(expr_list:REG_DEAD (reg/v:DI 129 [ wp0 ])
(nil)))
drivers/md/raid6int8.c:185: confused by earlier errors, bailing out
make[2]: *** [drivers/md/raid6int8.o] Error 1
make[1]: *** [drivers/md] Error 2
make: *** [drivers] Error 2

# gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-3)

-- 
Thanks & Regards,
Kamalesh Babulal,
Linux Technology Center,
IBM, ISTL.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: epoll and shared fd's

2008-02-26 Thread Bodo Eggert
Michael Kerrisk <[EMAIL PROTECTED]> wrote:

> a) I did a
> 
> s/internal kernel handle/open file description/
> 
> since that is the POSIX term for the internal handle.
> 
> b) It seems to me that you text doesn't quite make the point explicit
> enough.  I've tried to rewrite it; could you please check:
> 
>A6 Yes, but be aware of the following point.  A  file
>   descriptor is a reference to an open file descrip-
>   tion (see  open(2)).   Whenever  a  descriptor  is
>   duplicated  via dup(2), dup2(2), fcntl(2) F_DUPFD,
>   or fork(2), a new file descriptor referring to the
>   same  open  file  description is created.  An open
>   file description continues to exist until all file
>   descriptors referring to it have been closed.  The
>   epoll  interface  automatically  removes  a   file
>   descriptor  from  an  epoll set only after all the
>   file descriptors referring to the underlying  open
>   file  handle  have  been  closed.  This means that
>   even after a file descriptor that is  part  of  an
>   epoll  set has been closed, events may be reported
>   for that file descriptor if other file descriptors
>   referring  to the same underlying file description
>   remain open.
> 
> Does that seem okay?  I plan to include the text in man-pages-2.79.

It's hard to read for me, and probably very hard to read for others.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

2008-02-26 Thread Alan Cox
> > From what I've seen its helped make binary
> > module abusers more cautious.
> 
> Those not using _GPL exports?

In general. To be honest there is very little binary only stuff left now
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


-next build logs

2008-02-26 Thread Stefan Richter

Stephen,

the allmodconfig builds at http://kisskb.ellerman.id.au/kisskb/branch/9/ 
seem to lack a few drivers even though they are properly enabled in the 
respective config.  Is it simply because everything is rebuilt on top of 
a previous build?


Do you mail only errors to maintainers or also compiler warnings?

Thanks,
--
Stefan Richter
-=-==--- --=- ==-=-
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Pavel Machek
On Tue 2008-02-26 13:10:01, Dave Jones wrote:
> On Tue, Feb 26, 2008 at 06:59:54PM +0100, Pavel Machek wrote:
>  
>  > > if by 'custom' you mean the solution everyone agreed to work
>  > > toward at the power management summit several years ago
>  > > (hal/pm-utils) then, yes.
>  > 
>  > I must have been on different summit... I believe it is bad to tie
>  > s2ram to hal, because it makes testing on minimal system hard.
>  > 
>  > Anyway, what is the "default" way to trigger s2ram for Andrew? Perhaps
>  > Fedora already has his machine whitelisted...
> 
> There is no s2ram. pm-suspend uses the white/black-lists in pm-utils.
> Remember that? The cross-distro package everyone agreed was a good idea
> so that every distro didn't have their own magic utility ?

Well, we have cross-distro package, it is at suspend.sf.net , and it
can bring up video - which is kind of important. (It is single binary,
so it can be pagelocked -- which is important for s2disk).

Plus it does not depend on HAL.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.25-rc2-mm1] Oops in __kmalloc

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 16:18:55 +0100 Jiri Slaby <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> while booting up a notebook on 32 bit, this oopses appeared on the console
> after ext3 fsck:
> http://www.fi.muni.cz/~xslaby/sklad/mem_oops/
> 
> It's 2.6.25-rc2-mm1, I can't find similar reports, is this known or hardware
> issue (unlikely, 2.6.24.2 seems to be OK)?

I don't recall seeing a similar report and yes, it'll be a kernel bug.

We've fixed a few things and it could be that this will just go away in
next -mm.  If it doesn't, a bisection search would be good, thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Dave Jones
On Tue, Feb 26, 2008 at 06:59:54PM +0100, Pavel Machek wrote:
 
 > > if by 'custom' you mean the solution everyone agreed to work
 > > toward at the power management summit several years ago
 > > (hal/pm-utils) then, yes.
 > 
 > I must have been on different summit... I believe it is bad to tie
 > s2ram to hal, because it makes testing on minimal system hard.
 > 
 > Anyway, what is the "default" way to trigger s2ram for Andrew? Perhaps
 > Fedora already has his machine whitelisted...

There is no s2ram. pm-suspend uses the white/black-lists in pm-utils.
Remember that? The cross-distro package everyone agreed was a good idea
so that every distro didn't have their own magic utility ?

sigh, I give up.

Dave

-- 
http://www.codemonkey.org.uk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [(RT RFC) PATCH v2 5/9] adaptive real-time lock support

2008-02-26 Thread Gregory Haskins
>>> On Tue, Feb 26, 2008 at  1:06 PM, in message
<[EMAIL PROTECTED]>, Pavel Machek <[EMAIL PROTECTED]> wrote: 
> On Tue 2008-02-26 08:03:43, Gregory Haskins wrote:
>> >>> On Mon, Feb 25, 2008 at  5:03 PM, in message
>> <[EMAIL PROTECTED]>, Pavel Machek <[EMAIL PROTECTED]> wrote: 
>> 
>> >> +static inline void
>> >> +prepare_adaptive_wait(struct rt_mutex *lock, struct adaptive_waiter 
>> > *adaptive)
>> > ...
>> >> +#define prepare_adaptive_wait(lock, busy) {}
>> > 
>> > This is evil. Use empty inline function instead (same for the other
>> > function, there you can maybe get away with it).
>> > 
>> 
>> I went to implement your suggested change and I remembered why I did it this 
> way:  I wanted a macro so that the "struct adaptive_waiter" local variable 
> will fall away without an #ifdef in the main body of code.  So I have left 
> this logic alone for now.
> 
> Hmm, but inline function will allow dead code elimination,  too, no?

I was getting compile errors.  Might be operator-error ;)

> 
> Anyway non-evil way to do it with macro is 
> 
> #define prepare_adaptive_wait(lock, busy) do {} while (0)
> 
> ...that behaves properly in complex statements.

Ah, I was wondering why people use that.  Will do.  Thanks!

-Greg

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [(RT RFC) PATCH v2 5/9] adaptive real-time lock support

2008-02-26 Thread Pavel Machek
On Tue 2008-02-26 08:03:43, Gregory Haskins wrote:
> >>> On Mon, Feb 25, 2008 at  5:03 PM, in message
> <[EMAIL PROTECTED]>, Pavel Machek <[EMAIL PROTECTED]> wrote: 
> 
> >> +static inline void
> >> +prepare_adaptive_wait(struct rt_mutex *lock, struct adaptive_waiter 
> > *adaptive)
> > ...
> >> +#define prepare_adaptive_wait(lock, busy) {}
> > 
> > This is evil. Use empty inline function instead (same for the other
> > function, there you can maybe get away with it).
> > 
> 
> I went to implement your suggested change and I remembered why I did it this 
> way:  I wanted a macro so that the "struct adaptive_waiter" local variable 
> will fall away without an #ifdef in the main body of code.  So I have left 
> this logic alone for now.

Hmm, but inline function will allow dead code elimination,  too, no?

Anyway non-evil way to do it with macro is 

#define prepare_adaptive_wait(lock, busy) do {} while (0)

...that behaves properly in complex statements.
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6 patch v2] cris: proper defconfig setup

2008-02-26 Thread Jesper Nilsson
On Tue, Feb 26, 2008 at 07:47:03PM +0200, Adrian Bunk wrote:
> This patch moves the cris defconfigs to arch/cris/configs/ where they 
> belong.
> 
> As a side effect they can now be used directly through e.g.
>   make ARCH=cris artpec_3_defconfig
> 
> The default defconfig is set through KBUILD_DEFCONFIG.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

> Patch updated after I discovered an additional defconfig in 
> arch/cris/arch-v10/defconfig

That could probably have been nuked, it's ancient.

I'll put this in my queue. Thanks!

/^JN - Jesper Nilsson
--
   Jesper Nilsson -- [EMAIL PROTECTED]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Pavel Machek
On Tue 2008-02-26 12:46:13, Dave Jones wrote:
> On Tue, Feb 26, 2008 at 11:11:17AM +0100, Pavel Machek wrote:
>  > Hi!
>  > 
>  > Andrew is trying to get s2ram to work on Fedora:
>  > 
>  > > > > Please try s2ram, there's good chance it will just work.
>  > > > 
>  > > > configure: error: Required libx86 was not found
>  > > 
>  > > apt-get install libx86-dev?
>  > > 
>  > > Alternatively, can you post dmidecode? Thinkpads usually work with
>  > > acpi_sleep=s3_bios,s3_mode ; and I can look up whitelist manually.
>  > 
>  > ...unfortunately, it does not ship s2ram by default, and does not even
>  > carry its dependencies.
>  > 
>  > Is there some custom mechanism to get suspend-to-ram to work on
>  > Fedora? 
> 
> if by 'custom' you mean the solution everyone agreed to work
> toward at the power management summit several years ago
> (hal/pm-utils) then, yes.

I must have been on different summit... I believe it is bad to tie
s2ram to hal, because it makes testing on minimal system hard.

Anyway, what is the "default" way to trigger s2ram for Andrew? Perhaps
Fedora already has his machine whitelisted...
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 00/28] Swap over NFS -v16

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 11:50:42 +0100 Peter Zijlstra <[EMAIL PROTECTED]> wrote:

> On Tue, 2008-02-26 at 17:03 +1100, Neil Brown wrote:
> > On Saturday February 23, [EMAIL PROTECTED] wrote:
>  
> > > What is the NFS and net people's take on all of this?
> > 
> > Well I'm only vaguely an NFS person, barely a net person, sporadically
> > an mm person, but I've had a look and it seems to mostly make sense.
> 
> Thanks for taking a look, and giving such elaborate feedback. I'll try
> and address these issues asap, but first let me reply to a few points
> here.

Neil's overview of what-all-this-is and how-it-all-works is really good. 
I'd suggest that you take it over, flesh it out and attach it firmly to the
patchset.  It really helps.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 3/6] mempolicy: add MPOL_F_STATIC_NODES flag

2008-02-26 Thread Paul Jackson
> return do_mbind(start, len, mode, mode_flags, &nodes, flags);

The intermingling of 'flags', 'mode' and 'mode_flags' to refer to the
low bits, the high bits or all the bits of the flags field is handled
fairly carefully in your patch, but can still be a bit difficult to
keep track of which is which when reading.

I'll wager not many readers can immediately say what the 'mode',
'mode_flags' and 'flags' refer to, in the above code snippet, for
example.

Do you have any suggestions on how to further improve the clarity of
this code?

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.940.382.4214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Proposal for "proper" durable fsync() and fdatasync()

2008-02-26 Thread Jeff Garzik

Jamie Lokier wrote:

Jeff Garzik wrote:

Nick Piggin wrote:

Anyway, the idea of making fsync/fdatasync etc. safe by default is
a good idea IMO, and is a bad bug that we don't do that :(
Agreed...  it's also disappointing that [unless I'm mistaken] you have 
to hack each filesystem to support barriers.


It seems far easier to make sync_blkdev() Do The Right Thing, and 
magically make all filesystems data-safe.


Well, you need ordered metadata writes, barriers _and_ flushes with
some filesystems.

Merely writing all the data pages than issuing a drive cache flush
won't Do The Right Thing with those filesystems - someone already
mentioned Btrfs, where it won't.


Oh certainly.  That's why we have a VFS :)  fsync for NFS will look 
quite different, too.




But I agree that your suggestion would make a superb default, for
filesystems which don't provide their own function.


Yep.  That would immediately cover a bunch of filesystems.



It's not optimal even then.

  Devices: On a software RAID, you ideally don't want to issue flushes
  to all drives if your database did a 1 block commit entry.  (But they
  probably use O_DIRECT anyway, changing the rules again).  But all that
  can be optimised in generic VFS code eventually.  It doesn't need
  filesystem assistance in most cases.


My own idea is that we create a FLUSH command for blkdev request queues, 
to exist alongside READ, WRITE, and the current barrier implementation. 
 Then FLUSH could be passed down through MD or DM.


Jeff


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Performance problems with 3ware 9500S-4LP and 2.6.25-rc3

2008-02-26 Thread Bernd Schubert
Hello Andre,

On Tuesday 26 February 2008 18:43:14 Andre Noll wrote:
> Hi
>
> we are experiencing massive performance problems with two of our
> Linux servers that contain 3ware controllers on a Tyan mainboard and
> a couple of 1T disks.
>
> During the daily cron job that uses rsync to sync a 500G file system
> from another machine to the raid on the 3ware controller the load
> jumps up, and the machine becomes sluggish as hell. For example, an
> ssh login to that machine takes minutes to complete and ldap becomes
> unreliable while the rsync job is running. Even Nagios complains
> about the machine being down while rsync is running.

do you have the write-back cache of the controller enabled for your disks? 
When you disable this cache, the controller will also disable the disks, 
cause a write-performance between 3 to 8MB/s per disks.

Cheers,
Bernd


-- 
Bernd Schubert
Q-Leap Networks GmbH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6 patch] cris: proper defconfig setup

2008-02-26 Thread Jesper Nilsson
On Tue, Feb 26, 2008 at 07:28:47PM +0200, Adrian Bunk wrote:
> This patch moves the cris defconfigs to arch/cris/configs/ where they 
> belong.
> 
> As a side effect they can now directly be used through e.g.
>   make ARCH=cris artpec_3_defconfig
> 
> The default defconfig is set through KBUILD_DEFCONFIG.
> 
> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]>

Acked-by: Jesper Nilsson <[EMAIL PROTECTED]>

Thanks!

/^JN - Jesper Nilsson
--
   Jesper Nilsson -- [EMAIL PROTECTED]
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: IDE cdrom problem with PLEXTOR DVDR PX-608AL

2008-02-26 Thread Borislav Petkov
On Tue, Feb 26, 2008 at 06:32:41PM +1000, Brad Rosser wrote:
Hi Brad,

> Hello Boris, Bart,
> 
> On Tue, Feb 26, 2008 at 12:45 AM, Borislav Petkov
> <[EMAIL PROTECTED]> wrote:
> >
> > On Mon, Feb 25, 2008 at 03:57:06PM +1000, Brad Rosser wrote:
> > >
> > > ... it would suggest the option 'hda=noprobe' was entered correctly?
> >
> >  ok, let's try something else: change the line "#if 0" to "#if 1" at the
> >  beginning of kernel/params.c, it looks like:
> >
> >  #if 0
> >  #define DEBUGP printk
> >  #else
> >  #define DEBUGP(fmt, a...)
> >  #endif
> >
> >  rebuild your kernel, and reboot with it. Then, please send me that boot 
> > log to
> >  see whether the kernel command line is being received from the boot loader 
> > and
> >  what exactly is getting parsed. Thanks.
> 
> Boris,  I've done that; the output is in attached file dmesg.debug.out.

it seems that your boot loader is not supplying the kernel with the boot params
properly as can be seen from the excerpt below:

...
Kernel command line: BOOT_IMAGE=linux_2.6.25rc2 ro root=900 
md=0,/dev/sda5,/dev/sdb5 hda=noprobe
Parsing ARGS: BOOT_IMAGE=linux_2.6.25rc2 ro root=900 md=0,/dev/sda5,/dev/sdb5 
hda=noprobe
Unknown argument: calling c03670ce
Unknown argument: calling c03670ce
Unknown argument: calling c03670ce
Unknown argument: calling c03670ce
md: Will configure md0 (super-block) from /dev/sda5,/dev/sdb5, below.
Unknown argument: calling c03670ce
...

and, as a result, the probing of hda still takes place.

> It looks to me that the kernel still found the IDE DVD drive (hda) ...
> in addition
> to the system messages when the system was up I found the ide_cd_mod
> module loaded on top of 'cdrom' as normal.
> 
> >  Please see whether you can apply the patch Bart just sent and if that 
> > still gets
> >  mangled and cannot be applied, consider making those changes to ide-cd.c 
> > by hand
> >  - after all, there are only several lines that need to be changed so it 
> > won't
> >  take that long.
> 
> Bart, I was able to apply that patch file you attached with no problems, and 
> the
> behaviour of the patched kernel changed as follows:
> 
> - no more 'confused' messages, nor the rush of other critical messages
> that accompanied a system hang on one out of four tests yesterday.
> 
> - However, a new message that popped up twice; once after a few seconds
> of network activity, and then about 15-20 seconds afterwards:
> 
> hda: ide_cd_check_ireason: wrong transfer direction!
> hda: ide_cd_check_ireason: wrong transfer direction!

Bart, can we assume here that some of the nic interrupts somehow get handled by
ide-cd or something gets mixed up there?

> - also, I'm pretty sure that performance of both network and DVD drive 
> suffered.
> 
> As to the last ... my new PC, on which I'm doing all this testing, has a 
> gigabit
> Realtek NIC.  It's hooked up via null UTP cable to my older machine which has
> a 100Mb/s card.  ethtool shows that they both auto-negotiate to run at 100Mb/s
> full duplex.  When I run my network test (pumping through /dev/zero across ssh
> from the old machine to the new) the network stats tell me that I'm getting
> 10MB/s out of the link, which is what I would expect.
> 
> With the patched 2.6.25-rc2 kernel running with no activity reading the DVD
> but the network going flat out (on the old PC's end) I noted that I was only
> getting only 8.0 or 8.1 MB/sec, rather than the 10 MB/sec I've seen in the 
> other
> tests..  There was no other network traffic or cpu load on the machine(s).
> 
> Then, when I mounted a DVD disc and did a 'wc /mnt/*' of its contents
> an iostat showed me that I was getting only about 6MB/sec out of the DVD
> drive, which is less than I'd expect.  As soon as I killed the network send
> iostat's report zoomed up to roughly 10MB/sec.  So it seemed to me that,
> in addition to the 'wrong direction' messages, I was losing some performance
> on both the NIC and the DVD drive.


-- 
Regards/Gruß,
Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: broken suspend in .2.6.25-rc3 on T61p (was Re: new regression in 2.6.25-rc3: no keyboard/lid acpi events on thinkpad T61p)

2008-02-26 Thread Dave Jones
On Tue, Feb 26, 2008 at 11:11:17AM +0100, Pavel Machek wrote:
 > Hi!
 > 
 > Andrew is trying to get s2ram to work on Fedora:
 > 
 > > > > Please try s2ram, there's good chance it will just work.
 > > > 
 > > > configure: error: Required libx86 was not found
 > > 
 > > apt-get install libx86-dev?
 > > 
 > > Alternatively, can you post dmidecode? Thinkpads usually work with
 > > acpi_sleep=s3_bios,s3_mode ; and I can look up whitelist manually.
 > 
 > ...unfortunately, it does not ship s2ram by default, and does not even
 > carry its dependencies.
 > 
 > Is there some custom mechanism to get suspend-to-ram to work on
 > Fedora? 

if by 'custom' you mean the solution everyone agreed to work
toward at the power management summit several years ago
(hal/pm-utils) then, yes.

Dave

-- 
http://www.codemonkey.org.uk
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: arcmsr & areca-1660 - strange behaviour under heavy load

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 10:35:31 +0100 (CET) Nikola Ciprich <[EMAIL PROTECTED]> 
wrote:

> Hi
> 
> On Sun, 24 Feb 2008, Andrew Morton wrote:
> 
> Hi Andrew,
> thanks a lot for reply, I'm attaching requested information.
> please let me know if You need more information/testing, whatever.
> I'll be glad to help.
> BR
> nik
> 
> >> Areca support doesn't seem to be very interested in the problem :-(
> >
> > (cc's added)
> >
> > Please get the machine into this state of memory exhaustion then take
> > copies of the output of the following, and send them via reply-to-all to
> > this email:
> >
> > - cat /proc/meminfo
> >
> > - cat /proc/slabinfo
> >
> > - dmesg -c > /dev/null ; echo m > /proc/sysrq-trigger ; dmesg -c
> >
> > Thanks.

Alas, that all looks OK to me.

You never get any out-of-memory messages, and no oom-killing messages?

Possibly what is happening here is that in this low-memory condition, some
of the driver's internal memory-allocation attempts are failing, and the
driver isn't correctly handling this.  This is a rare situation which may
well not have been hit in anyone else's testing.

I expect that the Areca engineers will be able to reproduce this with a
suitably small "mem=" kernel boot option.  If not, they could perhaps
investigate the kernel's fault-injection framework, which permits
simulation of page allocation failures.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 5/6] mempolicy: add MPOL_F_RELATIVE_NODES flag

2008-02-26 Thread Paul Jackson
David,

Perhaps I missed it, but could you elaborate on what sort of testing
these patches for MPOL_F_RELATIVE_NODES and MPOL_F_STATIC_NODES have
received?

The main reason I didn't push my version of these patches in December
was I figured it would take a week or three of obsessive-compulsive
testing to verify that we didn't break various corner cases of the
mbind/mempolicy system call interface.

In particular, do we know that Oracle works with this?  At least in
years past, when Andi was the primary developer here, he had some
good and detailed awareness of what it took to keep Oracle happy
with this NUMA memory policy apparatus.  I don't know if we still
have that awareness.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.940.382.4214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

2008-02-26 Thread Krzysztof Halasa
Alan Cox <[EMAIL PROTECTED]> writes:

>> Actually I think the _GPL exports are really harmful - somebody
>> distributing a binary module may claim he/she doesn't violate the GPL
>> because the module uses only non-GPL exports. OTOH GPL symbols give
>
> They can claim that anyway. The can claim to be alien life forms too. Claim
> is not the same as legal decision.

Sure but it may be now easier to convince the judge they are right. Of
course if they aren't using GPL exports - if they are, perhaps harder.

> From what I've seen its helped make binary
> module abusers more cautious.

Those not using _GPL exports?
-- 
Krzysztof Halasa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.6.22.19

2008-02-26 Thread Randy Dunlap
On Tue, 26 Feb 2008 18:26:05 +0100 Oliver Pinter wrote:

> Thank for your work in this serie or tree.

Please edit your replies so that you don't send a 40 KB message
that is actually only one line.

---
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.25-rc1/2 CD/DVD burning broken

2008-02-26 Thread Borislav Petkov
On Tue, Feb 26, 2008 at 03:52:13PM +0100, Andreas Schwab wrote:
> Borislav Petkov <[EMAIL PROTECTED]> writes:
> 
> > On Mon, Feb 25, 2008 at 11:08:55PM +0100, Andreas Schwab wrote:
> >> Borislav Petkov <[EMAIL PROTECTED]> writes:
> >> 
> >> > On Mon, Feb 25, 2008 at 08:38:22PM +0100, Andreas Schwab wrote:
> >> >> "Kiyoshi Ueda" <[EMAIL PROTECTED]> writes:
> >> >> 
> >> >> > I'm looking at this problem, but currently no idea why the conversion
> >> >> > to blk_end_request causes it.
> >> >> 
> >> >> cdrom_newpc_intr apparently never sets rq->sense_len.
> >> >> 
> >> >
> >> > actually it does, see the code chunk around line 1188 in 2.6.25-rc2, for
> >> > example.
> >> 
> >> Yes, it does, but it always adds zero.
> >
> > yep, true. Does that fix your dvd burning problem?
> 
> Yes, sure.
> 
> Andreas.

Bart,

please apply the enclosed patch since it fixes dvd burning with growisofs on
Pioneer drives as reported by Andreas.

Thanks.

---
From: Andreas Schwab <[EMAIL PROTECTED]>

Move counting of sense bytes into the transfer loop.

Signed-off-by: Andreas Schwab <[EMAIL PROTECTED]>
Acked-by: Borislav Petkov <[EMAIL PROTECTED]>

---
 drivers/ide/ide-cd.c |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- linux-2.6.25-rc3.orig/drivers/ide/ide-cd.c  2008-02-25 01:03:31.0 
+0100
+++ linux-2.6.25-rc3/drivers/ide/ide-cd.c   2008-02-25 22:54:42.0 
+0100
@@ -1182,11 +1182,10 @@ static ide_startstop_t cdrom_newpc_intr(
else
rq->data += blen;
}
+   if (!write && blk_sense_request(rq))
+   rq->sense_len += blen;
}
 
-   if (write && blk_sense_request(rq))
-   rq->sense_len += thislen;
-
/*
 * pad, if necessary
 */

-- 
Regards/Gruß,
Boris.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Proposal for "proper" durable fsync() and fdatasync()

2008-02-26 Thread Jörn Engel
On Tue, 26 February 2008 17:29:13 +, Jamie Lokier wrote:
> 
> You're right.  Though, doesn't normal page writeback enqueue the COW
> metadata changes?  If not, how do they get written in a timely
> fashion?

It does.  But this is not sufficient to guarantee that the pages in
question have been safely committed to the device by the time
sync_file_range() has returned.

Jörn

-- 
Joern's library part 5:
http://www.faqs.org/faqs/compression-faq/part2/section-9.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


h8300 drivers/serial/sh-sci.c compile error

2008-02-26 Thread Adrian Bunk
Commit e108b2ca2349f510ce7d7f910eda89f71d710d84 broke the compilation of 
drivers/serial/sh-sci.c on h8300:

<--  snip  -->

...
  CC  drivers/serial/sh-sci.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/serial/sh-sci.c:57:21: error: 
asm/sci.h: No such file or directory
...
make[3]: *** [drivers/serial/sh-sci.o] Error 1

<--  snip  -->

cu
Adrian

-- 

   "Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
   "Only a promise," Lao Er said.
   Pearl S. Buck - Dragon Seed

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch 6/6] mempolicy: update NUMA memory policy documentation

2008-02-26 Thread Paul Jackson
+   MPOL_F_RELATIVE_NODES:  This flag specifies that the nodemask passed
+   by the user should remain in the same context as it is for the
+   current task or VMA's set of accessible nodes after the memory
+   policy has been defined.
+
+   Without this flag (and without MPOL_F_STATIC_NODES), anytime a
+   mempolicy is rebound because of a change in the set of
+   accessible nodes, the node (Preferred) or nodemask (Bind,
+   Interleave) is remapped to the new set of accessible nodes.
+   With this flag, the remap is done to ensure the context of the
+   previous nodemask with its set of allowed mems is preserved.

Hmmm ... I've read this several times now ... still can't figure out
what it's saying ;).  And it doesn't really explain key aspects of
MPOL_F_RELATIVE_NODES, such as that it provides cpuset relative
numbering (use nodes 0..N-1, regardless of your current cpuset, to
refer to the first N nodes in whatever is your current cpuset.)

Perhaps we'd be further ahead of the game if you started with the
documentation changes to Documentation/vm/numa_memory_policy.txt,
in my patch:
Date: Sun, 23 Dec 2007 22:24:02 -0600
From: Paul Jackson <[EMAIL PROTECTED]>
To: David Rientjes <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Re: [RFC] cpuset relative memory policies - second choice
Message-Id: <[EMAIL PROTECTED]>

Change MPOL_MASK_REL to MPOL_F_RELATIVE_NODES and similar changes.

-- 
  I won't rest till it's the best ...
  Programmer, Linux Scalability
  Paul Jackson <[EMAIL PROTECTED]> 1.940.382.4214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: boot_delay broken ?

2008-02-26 Thread Randy Dunlap
On Tue, 26 Feb 2008 17:09:48 +0800 Dave Young wrote:

> On Tue, Feb 26, 2008 at 01:59:31PM +0800, Dave Young wrote:
> > On Tue, Feb 26, 2008 at 1:48 PM, Dave Young <[EMAIL PROTECTED]> wrote:
> > > On Tue, Feb 26, 2008 at 1:22 PM, Randy Dunlap <[EMAIL PROTECTED]> wrote:
> > >  > On Mon, 25 Feb 2008 10:14:36 +0800 Dave Young wrote:
> > >  >
> > >  >  > On Sun, Feb 24, 2008 at 8:46 AM, Dave Jones <[EMAIL PROTECTED]> 
> > > wrote:
> > >  >  > > The boot_delay switch seems to be behaving strangely in the
> > >  >  > >  current -git.  Setting it to =10 makes the output 'bursty'
> > >  >  > >  it becomes slow for some printk's whilst others scroll by
> > >  >  > >  at regular speed.
> > >  >  > >  Setting it any higher than that seems to make it pause for
> > >  >  > >  a really long time before it outputs any text at all.
> > >  >  >
> > >  >  > On my side there's this issue for a long time
> > >  >  > http://lkml.org/lkml/2007/8/8/79
> > >  >
> > >  >  [http://marc.info/?l=linux-kernel&m=118655896515049&w=2]
> > >  >
> > >  >  You asked questions and they were answered.  Perhaps you didn't like
> > >  >  the answers.
> > >
> > >  No, I like it.  Thanks.
> > >
> > >  But I still want to know why mdelay can not be used.
> > >  is it not available for all archs or something else?
> > >
> > >
> > >  >
> > >  >  Here's a question for you.  What kernel boot options did you use?
> > >  >  Specifically, for lpj= and boot_delay= ?
> > >
> > >  I tried boot_delay=100 and boot_delay=200 without lpj set, The result
> > >  was really slow. It was better with lpj copied from dmesg, but was
> > >  still slower then mdelay.
> > 
> > Especially at the very beginning after the message "Booting the kernel",
> > I need to wait several minutes to see the afterwards messages
> > 
> > >
> > >  I think we can firstly use preset lpj, after delay calibrating just
> > >  use the system lpj
> > >
> > >
> > >
> > >  >
> > >  >  > >
> > >  >  > >  x86 timer changes perhaps ?
> > >  >
> > >  >
> > >  >  ---
> > >  >  ~Randy
> > >  >
> > >
> 
> How about use loops_per_jiffy as following? With this patch at least
> for me the very long delay at the very begining does not occur.
> 
> kernel/printk.c |   15 ---
> 1 file changed, 4 insertions(+), 11 deletions(-)
> 
> diff -upr linux/kernel/printk.c linux.new/kernel/printk.c
> --- linux/kernel/printk.c 2008-02-26 16:54:23.0 +0800
> +++ linux.new/kernel/printk.c 2008-02-26 16:59:02.0 +0800
> @@ -173,24 +173,14 @@ __setup("log_buf_len=", log_buf_len_setu
>  #ifdef CONFIG_BOOT_PRINTK_DELAY
>  
>  static unsigned int boot_delay; /* msecs delay after each printk during 
> bootup */
> -static unsigned long long printk_delay_msec; /* per msec, based on 
> boot_delay */
>  
>  static int __init boot_delay_setup(char *str)
>  {
> - unsigned long lpj;
> - unsigned long long loops_per_msec;
> -
> - lpj = preset_lpj ? preset_lpj : 100;/* some guess */
> - loops_per_msec = (unsigned long long)lpj / 1000 * HZ;
> -
>   get_option(&str, &boot_delay);
>   if (boot_delay > 10 * 1000)
>   boot_delay = 0;
>  
> - printk_delay_msec = loops_per_msec;
> - printk(KERN_DEBUG "boot_delay: %u, preset_lpj: %ld, lpj: %lu, "
> - "HZ: %d, printk_delay_msec: %llu\n",
> - boot_delay, preset_lpj, lpj, HZ, printk_delay_msec);
> + printk(KERN_DEBUG "boot_delay: %u\n", boot_delay);
>   return 1;
>  }
>  __setup("boot_delay=", boot_delay_setup);
> @@ -199,6 +189,9 @@ static void boot_delay_msec(void)
>  {
>   unsigned long long k;
>   unsigned long timeout;
> + unsigned long long printk_delay_msec;
> +
> + printk_delay_msec = (unsigned long long)loops_per_jiffy / 1000 * HZ;
>  
>   if (boot_delay == 0 || system_state != SYSTEM_BOOTING)
>   return;
> --

Hi Dave,

That might work, but IMO it requires someone to audit all
architectures to make sure that loops_per_jiffy has been calibrated
at that point in time (as I mentioned in http://lkml.org/lkml/2007/8/11/153).

I didn't do that and you said that you tested i386 only.

Maybe you can get Andrew to merge it into -mm for testing...

However, setting boot_delay=N without setting lpj=M is just not
advisable.  The Kconfig help text for BOOT_PRINTK_DELAY tries to
say that.  Maybe it needs to be stronger?

  It is likely that you would also need to use "lpj=M" to preset
  the "loops per jiffie" value.
  See a previous boot log for the "lpj" value to use for your
  system, and then set "lpj=M" before setting "boot_delay=N".


---
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


linux v2.6.22.20-op1-rc1

2008-02-26 Thread Oliver Pinter
linux v2.6.22.20-op1-rc1
"stable" review patch

what is this tree?
it is my long term supported kernel, when i have time for it, i
backported the most important fixes.

http://repo.or.cz/w/linux-2.6.22.y-op.git rc

--
Makefile | 2 +-
arch/x86_64/mm/pageattr.c | 2 +-
include/linux/page-flags.h | 4 ++--
kernel/irq/chip.c | 20 +++-
mm/vmscan.c | 41 +
5 files changed, 64 insertions(+), 5 deletions(-)
--
David Howells (1):
 MM: Fix macro argument substitution in PageHead() and PageTail()

Ingo Molnar (1):
 x86_64: CPA, fix cache attribute inconsistency bug, v2.6.22 backport

Kurt Garloff (1):
 make (low) swappiness safer to use

Oliver Pinter (1):
linux v2.6.22.20-op1-rc1

Thomas Gleixner (1):
 genirq: do not leave interupts enabled on free_irq


--
Thanks,
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86: add the debugfs interface for the sysprof tool

2008-02-26 Thread Andrew Morton
On Tue, 26 Feb 2008 10:02:23 +0100 Ingo Molnar <[EMAIL PROTECTED]> wrote:

> > Anton - who has used oprofile to analyse and tune databases, JVMs,
> > compilers and operating systems. Maybe I've been missing out on
> > the killer app for all this time!!!
> 
> it's OK if you use it full time and if you are amongst the 0.001% of the 
> developer population we call "the best kernel hackers on the planet" ;-) 
> 
> It sucks badly if you use it occasionally and have to re-learn its 
> non-trivial usage and its quirks every time. As it happens, most 
> userspace developers are in this second category.

Nobody has in any way demonstrated that this is due to the design or
implementation of oprofile's kernel component.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Proposal for "proper" durable fsync() and fdatasync()

2008-02-26 Thread Jamie Lokier
Jörn Engel wrote:
> On Tue, 26 February 2008 15:28:10 +, Jamie Lokier wrote:
> > 
> > > One interesting aspect of this comes with COW filesystems like btrfs or
> > > logfs.  Writing out data pages is not sufficient, because those will get
> > > lost unless their referencing metadata is written as well.  So either we
> > > have to call fsync for those filesystems or add another callback and let
> > > filesystems override the default implementation.
> > 
> > Doesn't the ->fsync callback get called in the sys_fdatasync() case,
> > with appropriate arguments?
> 
> My paragraph above was aimed at the sync_file_range() case.  fsync and
> fdatasync do the right thing within the limitations you brought up in
> this thread.  sync_file_range() without further changes will only write
> data pages, not the metadata required to actually access those data
> pages.  This works just fine for non-COW filesystems, which covers all
> currently merged ones.
> 
> With COW filesystems it is currently impossible to do sync_file_range()
> properly.  The problem is orthogonal to your's, I just brought it up
> since you were already mentioning sync_file_range().

You're right.  Though, doesn't normal page writeback enqueue the COW
metadata changes?  If not, how do they get written in a timely
fashion?

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] x86_64: remove wrong setting about CONSTANT_TSC for intel cpu

2008-02-26 Thread Yinghai Lu
On Mon, Feb 25, 2008 at 11:33 PM, H. Peter Anvin <[EMAIL PROTECTED]> wrote:
> Yinghai Lu wrote:
>  >>  which is the same. set_cpu_cap() is indeed the cleaner form to do this
>  >>  so your patch is correct as a cleanup.
>  > set_cpu_cap is right
>  > ==
>  > set_bit(X86_FEATURE_CONSTANT_TSC, &c->x86_capability); ===> is wrong
>  > should be
>  > set_bit(X86_FEATURE_CONSTANT_TSC, c->x86_capability);
>  >
>  > x86_capability is a array ...
>  >
>
>  For an array, the & is optional and has no effect.

good to know.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

2008-02-26 Thread Alan Cox
On Tue, Feb 26, 2008 at 06:04:51PM +0100, Krzysztof Halasa wrote:
> Actually I think the _GPL exports are really harmful - somebody
> distributing a binary module may claim he/she doesn't violate the GPL
> because the module uses only non-GPL exports. OTOH GPL symbols give

They can claim that anyway. The can claim to be alien life forms too. Claim
is not the same as legal decision. From what I've seen its helped make binary
module abusers more cautious.

Alan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Linux 2.6.22.19

2008-02-26 Thread Oliver Pinter
Thank for your work in this serie or tree.

On 2/26/08, Greg KH <[EMAIL PROTECTED]> wrote:
> diff --git a/Makefile b/Makefile
> index 99c5e87..27acaf4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,7 +1,7 @@
>  VERSION = 2
>  PATCHLEVEL = 6
>  SUBLEVEL = 22
> -EXTRAVERSION = .18
> +EXTRAVERSION = .19
>  NAME = Holy Dancing Manatees, Batman!
>
>  # *DOCUMENTATION*
> diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S
> index 3c3c220..b7be5cf 100644
> --- a/arch/i386/kernel/entry.S
> +++ b/arch/i386/kernel/entry.S
> @@ -409,8 +409,6 @@ restore_nocheck_notrace:
>  1:   INTERRUPT_RETURN
>  .section .fixup,"ax"
>  iret_exc:
> - TRACE_IRQS_ON
> - ENABLE_INTERRUPTS(CLBR_NONE)
>   pushl $0# no error code
>   pushl $do_iret_error
>   jmp error_code
> diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c
> index 0c0ceec..120a63b 100644
> --- a/arch/i386/kernel/ptrace.c
> +++ b/arch/i386/kernel/ptrace.c
> @@ -164,14 +164,22 @@ static unsigned long convert_eip_to_linear(struct
> task_struct *child, struct pt_
>   u32 *desc;
>   unsigned long base;
>
> - down(&child->mm->context.sem);
> - desc = child->mm->context.ldt + (seg & ~7);
> - base = (desc[0] >> 16) | ((desc[1] & 0xff) << 16) | (desc[1] &
> 0xff00);
> + seg &= ~7UL;
>
> - /* 16-bit code segment? */
> - if (!((desc[1] >> 22) & 1))
> - addr &= 0x;
> - addr += base;
> + down(&child->mm->context.sem);
> + if (unlikely((seg >> 3) >= child->mm->context.size))
> + addr = -1L; /* bogus selector, access would fault */
> + else {
> + desc = child->mm->context.ldt + seg;
> + base = ((desc[0] >> 16) |
> + ((desc[1] & 0xff) << 16) |
> + (desc[1] & 0xff00));
> +
> + /* 16-bit code segment? */
> + if (!((desc[1] >> 22) & 1))
> + addr &= 0x;
> + addr += base;
> + }
>   up(&child->mm->context.sem);
>   }
>   return addr;
> diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c
> index 90da057..4995b92 100644
> --- a/arch/i386/kernel/traps.c
> +++ b/arch/i386/kernel/traps.c
> @@ -517,10 +517,12 @@ fastcall void do_##name(struct pt_regs * regs, long
> error_code) \
>   do_trap(trapnr, signr, str, 0, regs, error_code, NULL); \
>  }
>
> -#define DO_ERROR_INFO(trapnr, signr, str, name, sicode, siaddr) \
> +#define DO_ERROR_INFO(trapnr, signr, str, name, sicode, siaddr, irq) \
>  fastcall void do_##name(struct pt_regs * regs, long error_code) \
>  { \
>   siginfo_t info; \
> + if (irq) \
> + local_irq_enable(); \
>   info.si_signo = signr; \
>   info.si_errno = 0; \
>   info.si_code = sicode; \
> @@ -560,13 +562,13 @@ DO_VM86_ERROR( 3, SIGTRAP, "int3", int3)
>  #endif
>  DO_VM86_ERROR( 4, SIGSEGV, "overflow", overflow)
>  DO_VM86_ERROR( 5, SIGSEGV, "bounds", bounds)
> -DO_ERROR_INFO( 6, SIGILL,  "invalid opcode", invalid_op, ILL_ILLOPN,
> regs->eip)
> +DO_ERROR_INFO( 6, SIGILL,  "invalid opcode", invalid_op, ILL_ILLOPN,
> regs->eip, 0)
>  DO_ERROR( 9, SIGFPE,  "coprocessor segment overrun",
> coprocessor_segment_overrun)
>  DO_ERROR(10, SIGSEGV, "invalid TSS", invalid_TSS)
>  DO_ERROR(11, SIGBUS,  "segment not present", segment_not_present)
>  DO_ERROR(12, SIGBUS,  "stack segment", stack_segment)
> -DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN,
> 0)
> -DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0)
> +DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN,
> 0, 0)
> +DO_ERROR_INFO(32, SIGSEGV, "iret exception", iret_error, ILL_BADSTK, 0, 1)
>
>  fastcall void __kprobes do_general_protection(struct pt_regs * regs,
> long error_code)
> diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c
> index 8d89d8c..7fc0e73 100644
> --- a/arch/x86_64/kernel/ptrace.c
> +++ b/arch/x86_64/kernel/ptrace.c
> @@ -102,16 +102,25 @@ unsigned long convert_rip_to_linear(struct task_struct
> *child, struct pt_regs *r
>   u32 *desc;
>   unsigned long base;
>
> - down(&child->mm->context.sem);
> - desc = child->mm->context.ldt + (seg & ~7);
> - base = (desc[0] >> 16) | ((desc[1] & 0xff) << 16) | (desc[1] &
> 0xff00);
> + seg &= ~7UL;
>
> - /* 16-bit code segment? */
> - if (!((desc[1] >> 22) & 1))
> - addr &= 0x;
> - addr += base;
> + down(&child->mm->context.sem);
> + if (unlikely((seg >> 3) >= child->mm->context.size))
> + addr = -1L; /* bogus selector, access would fault */
>

Re: 2.6.24.2: 4KSTACKS + pcdrw + dm + mount -> stack overflow: ide-cd related? dm-related?

2008-02-26 Thread Daniel Hazelton
On Tuesday 26 February 2008 06:10:34 Jiri Kosina wrote:
> On Mon, 25 Feb 2008, Jan Kara wrote:
> >   Yes, exactly two of them. One is  non-trivial to get rid of - it's
> > used for encoding of filename before we write it,
>
> Why can't we do just
>
>
>
> UDF: Optimize stack usage
>
> Signed-off-by: Jiri Kosina <[EMAIL PROTECTED]>
>
> diff --git a/fs/udf/namei.c b/fs/udf/namei.c
> index 112a5fb..706a2b5 100644
> --- a/fs/udf/namei.c
> +++ b/fs/udf/namei.c
> @@ -336,7 +336,7 @@ static struct fileIdentDesc *udf_add_entry(struct inode
> *dir, {
>   struct super_block *sb = dir->i_sb;
>   struct fileIdentDesc *fi = NULL;
> - char name[UDF_NAME_LEN], fname[UDF_NAME_LEN];
> + char *name, *fname;
>   int namelen;
>   loff_t f_pos;
>   int flen;
> @@ -352,6 +352,14 @@ static struct fileIdentDesc *udf_add_entry(struct
> inode *dir, struct extent_position epos = {};
>   struct udf_inode_info *dinfo;
>
> + name = kmalloc(sizeof(char) * UDF_NAME_LEN, GFP_KERNEL);
> + fname = kmalloc(sizeof(char) * UDF_NAME_LEN, GFP_KERNEL);
> +
> + if (!name || !fname) {
> + *err = -ENOMEM;
> + return NULL;
> + }
> +

Wouldn't it be better to check each individually, so you do wind up leaking a 
buffer here if one gets allocated and the other doesn't ?

>   if (dentry) {
>   if (!dentry->d_name.len) {
>   *err = -EINVAL;
> diff --git a/fs/udf/super.c b/fs/udf/super.c
> index f3ac4ab..42e3ba8 100644
> --- a/fs/udf/super.c
> +++ b/fs/udf/super.c
> @@ -1345,7 +1345,7 @@ static void udf_load_logicalvolint(struct super_block
> *sb, kernel_extent_ad loc) *  July 1, 1997 - Andrew E. Mileski
>   *   Written, tested, and released.
>   */
> -static int udf_process_sequence(struct super_block *sb, long block,
> +static int noinline udf_process_sequence(struct super_block *sb, long
> block, long lastblock, kernel_lb_addr *fileset)
>  {
>   struct buffer_head *bh = NULL;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

DRH

-- 
Dialup is like pissing through a pipette. Slow and excruciatingly painful.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.25 patch] drivers/crypto/hifn_795x.c: fix 64bit division

2008-02-26 Thread Martin Michlmayr
* Adrian Bunk <[EMAIL PROTECTED]> [2008-02-26 17:34]:
> >   MODPOST 759 modules
> > ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined!
> 
> Fix below.

Tested-by: Martin Michlmayr <[EMAIL PROTECTED]>

-- 
Martin Michlmayr
http://www.cyrius.com/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] mmiotrace full patch, preview 1

2008-02-26 Thread Jonathan Corbet
Hey, Pekka,

A couple of little things I noticed...

> +static int post_kmmio_handler(unsigned long condition, struct pt_regs *regs)
> +{
> + int ret = 0;
> + struct kmmio_probe *probe;
> + struct kmmio_fault_page *faultpage;
> + struct kmmio_context *ctx = &get_cpu_var(kmmio_ctx);
> +
> + if (!ctx->active)
> + goto out;

Should that text read something like:

if (condition != DIE_TRAP || !ctx->active)

Presumably you won't be active if something else is going wrong, but one
never knows.

> +int register_kmmio_probe(struct kmmio_probe *p)
> +{
> + int ret = 0;
> + unsigned long size = 0;
> +
> + spin_lock_irq(&kmmio_lock);
> + kmmio_count++;
> + if (get_kmmio_probe(p->addr)) {
> + ret = -EEXIST;
> + goto out;
> + }

That only checks the first page; if the probed region partially overlaps
another one found later in memory, the registration will succeed.

Maybe you want to decrement kmmio_count if you decide to return -EEXIST
(or hold off on the increment until after the test)?

In general, I worry about what happens if an interrupt handler generates
traced MMIO traffic while a fault handler is active.  It looks a lot
like the "all hell breaks loose" scenario mentioned in the comments.  Is
there some way of preventing that which I missed?  Otherwise, maybe,
should the ioremap() wrappers take an additional argument, being an IRQ
to disable while trace handlers are active?

jon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.24.2-rt2

2008-02-26 Thread Jan Kiszka
Steven Rostedt wrote:
> 
> On Tue, 26 Feb 2008, Jan Kiszka wrote:
>>> What's the NUMA topology?
>> 4 nodes. I'm not sure if it is really NUMA related, but the same kernel
>> runs that test as expected on a non-NUMA 2x2 box.
>>
>>> What tasks are running, and at what priorities?
>> 40 pthreads, created with default parameters from a main thread which
>> runs with default parameters as well. The threads simply run endless loops.
>>
>>> Those three idle CPUS, should they have tasks running on them?
>> For sure, given the overload situation of the system (40x full load vs.
>> 16 cores). Neither did we fiddle with any parameter of the system
>> (knowingly, its a standard openSUSE 10.3 underneath) nor did we set
>> thread affinities.
>>
> 
> Do you get different behaviour with 2.6.24.2?

Last time I checked mainline (I think 2.6.24), it was fine. It was
definitely fine for 2.6.23. But I'm going to revalidate this once the
machine is free again (tomorrow).

Jan

-- 
Siemens AG, Corporate Technology, CT SE 2
Corporate Competence Center Embedded Linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[demo patch/RFC] sleepy linux

2008-02-26 Thread Pavel Machek


Sleepy linux support, demo version, but it works on my thinkpad x60 ;-).

Signed-off-by: Pavel Machek <[EMAIL PROTECTED]>

diff --git a/Documentation/power/sleepy.txt b/Documentation/power/sleepy.txt
new file mode 100644
index 000..a9caf05
--- /dev/null
+++ b/Documentation/power/sleepy.txt
@@ -0,0 +1,55 @@
+   Sleepy Linux
+   
+
+Copyright 2007 Pavel Machek <[EMAIL PROTECTED]>
+ GPLv2
+
+Current Linux versions can enter suspend-to-RAM just fine, but only
+can do it on explicit request. But suspend-to-RAM is important, eating
+something like 10% of power needed for idle system. Starting suspend
+manually is not too convinient; it is not an option on multiuser
+machine, and even on single user machine, some things are not easy:
+
+1) Download this big chunk in mozilla, then go to sleep
+
+2) Compile this, then go to sleep
+
+3) You can sleep now, but wake me up in 8:30 with mp3 player
+
+Todays hardware is mostly capable of doing better: with correctly set
+up wakeups, machine can sleep and successfully pretend it is not
+sleeping -- by waking up whenever something interesting happens. Of
+course, it is easier on machines not connected to the network, and on
+notebook computers.
+
+Requirements:
+
+0) Working suspend-to-RAM, with kernel being able to bring video back.
+
+1) RTC clock that can wake up system
+
+2) Lid that can wake up a system,
+   or keyboard that can wake up system and does not loose keypress
+   or special screensaver setup
+
+3) Network card that is either down
+   or can wake up system on any packet (and not loose too many packets)
+
+How to use it
+~
+
+First, make sure your config is tiny enough that cpu sleeps at least
+five or so seconds between wakeups. You'll probably need to disable
+USB, make some kernel timers way longer than default and boot with
+init=/bin/bash.
+
+Then, enable SCSI powersave by something like:
+
+mount /sys
+echo auto > 
/sys/devices/pci:00/:00:1f.2/host0/target0:0:0/0:0:0:0/power/level
+echo 3 > 
/sys/devices/pci:00/:00:1f.2/host0/target0:0:0/0:0:0:0/power/autosuspend
+echo adisk > /sys/power/state
+mount / -oremount,commit=900
+
+Then, echo auto > /sys/power/state should enable sleepy support. Do it
+twice, and it will ignore open lid and sleep anyway.
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
index a7d50a5..4c25613 100644
--- a/arch/x86/kernel/process_32.c
+++ b/arch/x86/kernel/process_32.c
@@ -187,6 +187,7 @@ void cpu_idle(void)
/* endless idle loop with no priority at all */
while (1) {
tick_nohz_stop_sched_tick();
+   detect_idle();
while (!need_resched()) {
void (*idle)(void);
 
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 29e71bd..0197b1f 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -32,6 +32,7 @@
  *
  */
 
+#define DEBUG
 #include 
 #include 
 #include 
@@ -259,8 +260,8 @@ static void ahci_fill_cmd_slot(struct ah
   u32 opts);
 #ifdef CONFIG_PM
 static int ahci_port_suspend(struct ata_port *ap, pm_message_t mesg);
-static int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
-static int ahci_pci_device_resume(struct pci_dev *pdev);
+int ahci_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
+int ahci_pci_device_resume(struct pci_dev *pdev);
 #endif
 
 static struct class_device_attribute *ahci_shost_attrs[] = {
@@ -268,6 +269,41 @@ static struct class_device_attribute *ah
NULL
 };
 
+struct pci_dev *my_pdev;
+int autosuspend_enabled;
+
+struct sleep_disabled_reason ahci_active = {
+"ahci"
+};
+
+/* The host and its devices are all idle so we can autosuspend */
+static int autosuspend(struct Scsi_Host *host)
+{
+   if (my_pdev && autosuspend_enabled) {
+   printk("ahci: should autosuspend\n");
+   ahci_pci_device_suspend(my_pdev, PMSG_SUSPEND);
+   enable_auto_sleep(&ahci_active);
+   return 0;
+   } 
+   printk("ahci: autosuspend disabled\n");
+   return -EINVAL;
+}
+
+/* The host needs to be autoresumed */
+static int autoresume(struct Scsi_Host *host)
+{
+   if (my_pdev && autosuspend_enabled) {
+   printk("ahci: should autoresume\n");
+   disable_auto_sleep(&ahci_active);
+   ahci_pci_device_resume(my_pdev);
+   return 0;
+   }
+   printk("ahci: autoresume disabled\n");
+   return -EINVAL;
+}
+
+
+
 static struct scsi_host_template ahci_sht = {
.module = THIS_MODULE,
.name   = DRV_NAME,
@@ -286,6 +322,8 @@ static struct scsi_host_template ahci_sh
.slave_destroy  = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param,
.shost_attrs= ahci_shost_attrs,
+   .autosuspend= autosuspend,
+   .autoresume 

Re: [RFC] mmiotrace full patch, preview 1

2008-02-26 Thread Christoph Hellwig
On Mon, Feb 25, 2008 at 09:42:00PM -0500, Pavel Roskin wrote:
> It looks like a mutex, it acts like a mutex, but it isn't a mutex, it's a 
> trap for the unwary.  Weird.  I was annoyed by it before; now I see a 
> fellow developer actually getting into that trap.
>
> I'd say, rename DECLARE_MUTEX to DECLARE_SEMAPHORE and let external code be 
> fixed one way or another (i.e. stick with the "mutex" name or stick with 
> the semaphore functionality if it's really needed).

It's a semaphore used as mutex.  Until we got struct mutex this was
perfectly fine and now we're phasing it out and will hopefully get rid
of it soon.  It just takes some time to convert all users.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] ext3 freeze feature ver 0.2

2008-02-26 Thread Andreas Dilger
On Feb 26, 2008  08:39 -0800, Eric Sandeen wrote:
> Takashi Sato wrote:
> 
> > o Elevate XFS ioctl numbers (XFS_IOC_FREEZE and XFS_IOC_THAW) to the VFS
> >   As Andreas Dilger and Christoph Hellwig advised me, I have elevated
> >   them to include/linux/fs.h as below.
> > #define FIFREEZE_IOWR('X', 119, int)
> >    #define FITHAW  _IOWR('X', 120, int)
> >   The ioctl numbers used by XFS applications don't need to be changed.
> >   But my following ioctl for the freeze needs the parameter
> >   as the timeout period.  So if XFS applications don't want the timeout
> >   feature as the current implementation, the parameter needs to be
> >   changed 1 (level?) into 0.
> 
> So, existing xfs applications calling the xfs ioctl now will behave
> differently, right?  We can only keep the same ioctl number if the
> calling semantics are the same.  Keeping the same number but changing
> the semantics is harmful, IMHO

Do we know what this parameter was supposed to mean?

We could special case "1" if needed to keep compatibility (documenting
this clearly), either making it == 0, or some very long timeout (1h
or whatever).  A relatively minor wart I think.

Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.25-rc1 xen pvops regression

2008-02-26 Thread Mark McLoughlin
On Fri, 2008-02-22 at 07:25 +, Ian Campbell wrote:
> On Thu, 2008-02-21 at 14:58 -0800, H. Peter Anvin wrote:
> > 
> > Which it is on real hardware, because although it's not *reserved*
> > (type 2), it is certainly not made available as *normal memory* (type
> > 1).  If Xen maps this as type 1 then I definitely see the problem.
> > 
> > We can exclude type 1 memory from DMI scan, certainly.
> 
> I'd been meaning to ask this. So the machines you have which don't
> describe 0xf as reserved also don't describe it as RAM? (I guess
> it's either a hole in the table or one of the other e820 types).
> Ian.

...

> >From 13bdb4ee9d80b83a81c3dbefa52464e511d1b4df Mon Sep 17 00:00:00 2001
> From: Ian Campbell <[EMAIL PROTECTED]>
> Date: Fri, 22 Feb 2008 07:17:14 +
> Subject: [PATCH] x86: Do not scan for DMI if the DMI region is marked as RAM 
> by e820.
> 
> Under Xen the memory at 0xf is regular RAM and so can potentially contain 
> a
> page table and hence cannot be mapped. The e820 map given to guest reflects
> this.
> 
> Signed-off-by: Ian Campbell <[EMAIL PROTECTED]>

...

> @@ -371,6 +372,9 @@ void __init dmi_scan_machine(void)
>   }
>   }
>   else {
> + if (e820_all_mapped(0xF, 0xF+0x1, E820_RAM))
> + goto out;

One issue with using the e820 map for this is that a Xen Dom0 will also
have this region marked as RAM in the e820 map, but will set up a fixmap
for it, allowing dmi_scan_machine() to map the region.

Cheers,
Mark.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Proposal for "proper" durable fsync() and fdatasync()

2008-02-26 Thread Jörn Engel
On Tue, 26 February 2008 15:28:10 +, Jamie Lokier wrote:
> 
> > One interesting aspect of this comes with COW filesystems like btrfs or
> > logfs.  Writing out data pages is not sufficient, because those will get
> > lost unless their referencing metadata is written as well.  So either we
> > have to call fsync for those filesystems or add another callback and let
> > filesystems override the default implementation.
> 
> Doesn't the ->fsync callback get called in the sys_fdatasync() case,
> with appropriate arguments?

My paragraph above was aimed at the sync_file_range() case.  fsync and
fdatasync do the right thing within the limitations you brought up in
this thread.  sync_file_range() without further changes will only write
data pages, not the metadata required to actually access those data
pages.  This works just fine for non-COW filesystems, which covers all
currently merged ones.

With COW filesystems it is currently impossible to do sync_file_range()
properly.  The problem is orthogonal to your's, I just brought it up
since you were already mentioning sync_file_range().


Jörn

-- 
Joern's library part 10:
http://blogs.msdn.com/David_Gristwood/archive/2004/06/24/164849.aspx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] 2.6.25-rc2-mm1 - fix mcount GPL bogosity.

2008-02-26 Thread Krzysztof Halasa
> One may say _GPL is a strong indication that all users are
> automatically a derivative works, but it's only that - indication. It
> doesn't mean they are really derivative works and it doesn't mean a
> module not using any _GPL exports isn't a derivative.

Actually I think the _GPL exports are really harmful - somebody
distributing a binary module may claim he/she doesn't violate the GPL
because the module uses only non-GPL exports. OTOH GPL symbols give
_us_ exactly nothing.
-- 
Krzysztof Halasa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: Proposal for "proper" durable fsync() and fdatasync()

2008-02-26 Thread Jamie Lokier
Jeff Garzik wrote:
> Nick Piggin wrote:
> >Anyway, the idea of making fsync/fdatasync etc. safe by default is
> >a good idea IMO, and is a bad bug that we don't do that :(
> 
> Agreed...  it's also disappointing that [unless I'm mistaken] you have 
> to hack each filesystem to support barriers.
> 
> It seems far easier to make sync_blkdev() Do The Right Thing, and 
> magically make all filesystems data-safe.

Well, you need ordered metadata writes, barriers _and_ flushes with
some filesystems.

Merely writing all the data pages than issuing a drive cache flush
won't Do The Right Thing with those filesystems - someone already
mentioned Btrfs, where it won't.

But I agree that your suggestion would make a superb default, for
filesystems which don't provide their own function.

It's not optimal even then.

  Devices: On a software RAID, you ideally don't want to issue flushes
  to all drives if your database did a 1 block commit entry.  (But they
  probably use O_DIRECT anyway, changing the rules again).  But all that
  can be optimised in generic VFS code eventually.  It doesn't need
  filesystem assistance in most cases.

  Apps: don't always want a full flush; sometimes a barrier would do.

-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.24.2-rt2

2008-02-26 Thread Steven Rostedt


On Tue, 26 Feb 2008, Jan Kiszka wrote:
> >>
> >
> > What's the NUMA topology?
>
> 4 nodes. I'm not sure if it is really NUMA related, but the same kernel
> runs that test as expected on a non-NUMA 2x2 box.
>
> > What tasks are running, and at what priorities?
>
> 40 pthreads, created with default parameters from a main thread which
> runs with default parameters as well. The threads simply run endless loops.
>
> >
> > Those three idle CPUS, should they have tasks running on them?
>
> For sure, given the overload situation of the system (40x full load vs.
> 16 cores). Neither did we fiddle with any parameter of the system
> (knowingly, its a standard openSUSE 10.3 underneath) nor did we set
> thread affinities.
>

Do you get different behaviour with 2.6.24.2?

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   3   >