Re: [PATCH][MMC] Fix wrong EXT_CSD_REV handling

2007-12-18 Thread Pierre Ossman
On Fri, 14 Dec 2007 11:01:03 +0900
Kyungmin Park [EMAIL PROTECTED] wrote:

 
 Yes, reserved word should or must be zero, then it should check if
 (ext_csd_struct = 2) instead of = 2.
 In the Spec. 4.2, it can have three value 0, 1, or 2. There's no other
 restriction.

As I said, the spec doesn't say must, and I've seen cards with bogus data in 
there so I'm afraid we can't rely on the fields being zero. The version field 
is the only decent way of determining what to expect in the rest of the 
structure.

Rgds
-- 
 -- Pierre Ossman

  Linux kernel, MMC maintainerhttp://www.kernel.org
  PulseAudio, core developer  http://pulseaudio.org
  rdesktop, core developer  http://www.rdesktop.org
--
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][patch 1/3] block: non-atomic queue_flags prep

2007-12-18 Thread Nick Piggin
On Tue, Dec 18, 2007 at 08:44:40AM +0100, Jens Axboe wrote:
 On Sat, Dec 15 2007, Nick Piggin wrote:
  Hi,
  
  This is just an idea I had, which might make request processing a little
  bit cheaper depending on queue behaviour. For example if it is getting 
  plugged
  unplugged frequently (as I think is the case for some database workloads),
  then we might save one or two atomic operations per request.
  
  Anyway, I'm not completely sure if I have ensured all queue_flags users are
  safe (I think md may need a bit of help). But overall it seems quite doable.
 
 Looks ok to me, I'll throw it into the testing mix. Thanks Nick!

OK... actually if you are expecting it to be widely tested, can you change
the BUG_ONs in queue_flag_set / queue_flag_clear into WARN_ON?

That way it's less likely to take down people's systems...

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: [PATCH 2/9] readahead: clean up and simplify the code for filemap page fault readahead

2007-12-18 Thread Nick Piggin
On Sun, Dec 16, 2007 at 07:59:30PM +0800, Fengguang Wu wrote:

 @@ -1321,78 +1401,69 @@ int filemap_fault(struct vm_area_struct 
   struct address_space *mapping = file-f_mapping;
   struct file_ra_state *ra = file-f_ra;
   struct inode *inode = mapping-host;
 + pgoff_t offset = vmf-pgoff;
   struct page *page;
   unsigned long size;
 - int did_readaround = 0;
   int ret = 0;
  
   size = (i_size_read(inode) + PAGE_CACHE_SIZE - 1)  PAGE_CACHE_SHIFT;
   if (vmf-pgoff = size)
   return VM_FAULT_SIGBUS;
  
 - /* If we don't want any read-ahead, don't bother */
 - if (VM_RandomReadHint(vma))
 - goto no_cached_page;
 -
   /*
 -  * Do we have something in the page cache already?
 +  * Do we have something in the page cache already that
 +  * is unlocked and already up-to-date?
*/
 -retry_find:
 - page = find_lock_page(mapping, vmf-pgoff);
 - /*
 -  * For sequential accesses, we use the generic readahead logic.
 -  */
 - if (VM_SequentialReadHint(vma)) {
 - if (!page) {
 - page_cache_sync_readahead(mapping, ra, file,
 -vmf-pgoff, 1);
 - page = find_lock_page(mapping, vmf-pgoff);
 - if (!page)
 - goto no_cached_page;
 - }
 - if (PageReadahead(page)) {
 - page_cache_async_readahead(mapping, ra, file, page,
 -vmf-pgoff, 1);
 - }
 - }
 + read_lock_irq(mapping-tree_lock);
 + page = radix_tree_lookup(mapping-page_tree, offset);
 + if (likely(page)) {
 + int got_lock, uptodate;
 + page_cache_get(page);
 +
 + got_lock = !TestSetPageLocked(page);
 + uptodate = PageUptodate(page);
 + read_unlock_irq(mapping-tree_lock);

If we could avoid open coding tree_lock here (and expanding its coverage
to PageUptodate), that would be nice. I don't think it gains us too much.
--
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] drivers/s390/: Spelling fixes

2007-12-18 Thread Swen Schillig
On Monday 17 December 2007 20:40, Joe Perches wrote:
 
 Signed-off-by: Joe Perches [EMAIL PROTECTED]
 ---
  drivers/s390/block/dasd_3990_erp.c |2 +-
  drivers/s390/block/dasd_eckd.c |2 +-
  drivers/s390/char/sclp_rw.c|2 +-
  drivers/s390/char/tape_3590.c  |2 +-
  drivers/s390/cio/airq.c|2 +-
  drivers/s390/scsi/zfcp_erp.c   |2 +-
  drivers/s390/scsi/zfcp_qdio.c  |2 +-
  7 files changed, 7 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/s390/block/dasd_3990_erp.c 
 b/drivers/s390/block/dasd_3990_erp.c
 index 5b7385e..c02f960 100644
 --- a/drivers/s390/block/dasd_3990_erp.c
 +++ b/drivers/s390/block/dasd_3990_erp.c
 @@ -2620,7 +2620,7 @@ dasd_3990_erp_handle_match_erp(struct dasd_ccw_req 
 *erp_head,
   * DASD_3990_ERP_ACTION
   *
   * DESCRIPTION
 - *   controll routine for 3990 erp actions.
 + *   control routine for 3990 erp actions.
   *   Has to be called with the queue lock (namely the s390_irq_lock) 
 acquired.
   *
   * PARAMETER
 diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c
 index 44adf84..6038d91 100644
 --- a/drivers/s390/block/dasd_eckd.c
 +++ b/drivers/s390/block/dasd_eckd.c
 @@ -1542,7 +1542,7 @@ dasd_eckd_performance(struct dasd_device *device, void 
 __user *argp)
   prssdp = (struct dasd_psf_prssd_data *) cqr-data;
   memset(prssdp, 0, sizeof (struct dasd_psf_prssd_data));
   prssdp-order = PSF_ORDER_PRSSD;
 - prssdp-suborder = 0x01;/* Perfomance Statistics */
 + prssdp-suborder = 0x01;/* Performance Statistics */
   prssdp-varies[1] = 0x01;   /* Perf Statistics for the Subsystem */
 
   ccw = cqr-cpaddr;
 diff --git a/drivers/s390/char/sclp_rw.c b/drivers/s390/char/sclp_rw.c
 index d6b06ab..ad7195d 100644
 --- a/drivers/s390/char/sclp_rw.c
 +++ b/drivers/s390/char/sclp_rw.c
 @@ -76,7 +76,7 @@ sclp_make_buffer(void *page, unsigned short columns, 
 unsigned short htab)
  }
 
  /*
 - * Return a pointer to the orignal page that has been used to create
 + * Return a pointer to the original page that has been used to create
   * the buffer.
   */
  void *
 diff --git a/drivers/s390/char/tape_3590.c b/drivers/s390/char/tape_3590.c
 index da25f8e..8246ef3 100644
 --- a/drivers/s390/char/tape_3590.c
 +++ b/drivers/s390/char/tape_3590.c
 @@ -1495,7 +1495,7 @@ tape_3590_unit_check(struct tape_device *device, struct 
 tape_request *request,
  device-cdev-dev.bus_id);
   return tape_3590_erp_basic(device, request, irb, -EPERM);
   case 0x8013:
 - PRINT_WARN((%s): Another host has priviliged access to the 
 + PRINT_WARN((%s): Another host has privileged access to the 
  tape device\n, device-cdev-dev.bus_id);
   PRINT_WARN((%s): To solve the problem unload the current 
  cartridge!\n, device-cdev-dev.bus_id);
 diff --git a/drivers/s390/cio/airq.c b/drivers/s390/cio/airq.c
 index 5287631..5eada73 100644
 --- a/drivers/s390/cio/airq.c
 +++ b/drivers/s390/cio/airq.c
 @@ -23,7 +23,7 @@ static adapter_int_handler_t adapter_handler;
   * register for adapter interrupts
   *
   * With HiperSockets the zSeries architecture provides for
 - *  means of adapter interrups, pseudo I/O interrupts that are
 + *  means of adapter interrupts, pseudo I/O interrupts that are
   *  not tied to an I/O subchannel, but to an adapter. However,
   *  it doesn't disclose the info how to enable/disable them, but
   *  to recognize them only. Perhaps we should consider them
 diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
 index 07fa824..8925b3a 100644
 --- a/drivers/s390/scsi/zfcp_erp.c
 +++ b/drivers/s390/scsi/zfcp_erp.c
 @@ -1285,7 +1285,7 @@ zfcp_erp_strategy_do_action(struct zfcp_erp_action 
 *erp_action)
* note: no lock in subsequent strategy routines
* (this allows these routine to call schedule, e.g.
* kmalloc with such flags or qdio_initialize  friends)
 -  * Note: in case of timeout, the seperate strategies will fail
 +  * Note: in case of timeout, the separate strategies will fail
* anyhow. No need for a special action. Even worse, a nameserver
* failure would not wake up waiting ports without the call.
*/
 diff --git a/drivers/s390/scsi/zfcp_qdio.c b/drivers/s390/scsi/zfcp_qdio.c
 index 51d92b1..22fdc17 100644
 --- a/drivers/s390/scsi/zfcp_qdio.c
 +++ b/drivers/s390/scsi/zfcp_qdio.c
 @@ -529,7 +529,7 @@ zfcp_qdio_sbals_wipe(struct zfcp_fsf_req *fsf_req)
 
 
  /**
 - * zfcp_qdio_sbale_fill - set address and lenght in current SBALE
 + * zfcp_qdio_sbale_fill - set address and length in current SBALE
   *   on request_queue
   */
  static void

ACK 
for the zfcp bits.

Cheers Swen
--
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 

Re: [RFC PATCH 06/12] PAT 64b: Add ioremap_wc support

2007-12-18 Thread Eric W. Biederman
Siddha, Suresh B [EMAIL PROTECTED] writes:

 Yes. We are looking for comments for our proposal to track the
 reserved/non-reserved regions some what different.
 This is the critical issue which had been holding off PAT for years now...

The mattr infrastructure appears to do a decent job of handling the
reserved page mapping case.  It essentially reinvents struct
vm_area_struct, and so I expect we can do things a little more easily
if we use the existing vm_area_struct with it's vm_page_prot member
for our checks, all rooted at a dummy reserved page inode.  That way
we don't need to do anything special on unmap.

For normal pages we always have them in the kernel mapping and
we use them there.  change_page_attr also comes in from the AGP
drivers and changes the caching attributes on a few of those.  So when
mapping a normal page we need to require it to be write-back or
whatever change_page_attr has set it to.  I expect 2 bits 
of page-flags with the proper default can handle that.

change_page_attr needs to check non kernel mappings of a page 
and either fix them or fail.

If we perform the checks I have described for normal pages
in /dev/mem (in remap_pfn_pages?) that should be our
most difficult case handled.

Eric

 snip from the other mails

 Change x86_64 identity map to only map non-reserved memory. This helps
 to handle UC/WC mapping of reserved region in a much simple manner
 (we don't have to do cpa any more, as such not keep track of the actual
 reference counts. We still track all the usages to keep the mappings
 consistent. We just avoid the headache of splitting mattr regions for
 managing ref counts for every individual usage of the reserved
 area).

Well we do want to early map the ``isa'' region.

 For now, we don't track RAM pages using memattr infrastructure. This is 
 because,
 memattr infrastructure is not enough. i.e., while the page is getting
 tracked using memattr infrastructure, potentially the page can get
 freed(a bug that we need to catch, to avoid attribute aliasing).
 For example, a driver does ioremap_uc and an application mapped the
 same page using /dev/mem. When the driver does iounamp and free the page,
 /dev/mem mapping is still live and we run into aliasing issue.

/dev/mem is particular weird because it doesn't own the page, and thus
will always be the second user if we are talking about pages in ram.

 Can we use the existing page struct to keep track of the attribute
 and usage?

Yes but not the way you describe below.

 /dev/mem mappings then can increment the page ref count and not
 allow to free the page while the /dev/mem mappings are active. And allow
 /dev/mem to map only those pages which are marked reserved (which the driver
 does before doing iomap).

Part of the usefulness of /dev/mem is that it can do silly things like
map pages someone else in the kernel is using.  /dev/mem by it's very
nature does not own ram pages so we need to handle that differently.

 Or when a WB mapping through /dev/mem is active, don't allow any driver
 to map the page as UC.. Can we do this tracking for RAM pages through
 struct page. Or there any issues we should keep in mind..

I think some bits in page-flags should do the trick.  The semantics
of change_page_attr are interesting in this case.

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: [PATCH 1/4 -mm] kexec based hibernation -v7 : kexec jump

2007-12-18 Thread Huang, Ying
On Tue, 2007-12-11 at 02:27 -0700, Eric W. Biederman wrote:
 Huang, Ying [EMAIL PROTECTED] writes:
 
  On Mon, 2007-12-10 at 19:25 -0700, Eric W. Biederman wrote:
  Huang, Ying [EMAIL PROTECTED] writes:
  [...]
/*
 * Do not allocate memory (or fail in any way) in machine_kexec().
 * We are past the point of no return, committed to rebooting now.
 */
   -NORET_TYPE void machine_kexec(struct kimage *image)
   +int machine_kexec_vcall(struct kimage *image, unsigned long *ret,
   + unsigned int argc, va_list args)
{
  
  Why do we need var arg support?
  Can't we do that with a shim we load from user space?
 
  If all parameters are provided in user space, the usage model may be as
  follow:
 
  - sys_kexec_load() /* with executable/data/parameters(A) loaded */
  - sys_reboot(,,LINUX_REBOOT_CMD_KEXEC,) /* execute physical mode code with
  parameters(A)*/
  - /* jump back */
  - sys_kexec_load() /* with executable/data/parameters(B) loaded */
  - sys_reboot(,,LINUX_REBOOT_CMD_KEXEC,) /* execute physical mode code with
  parameters(B)*/
  - /* jump back */
 
  That is, the kexec image should be re-loaded if the parameters are
  different, and there can be no state reserved in kexec image. This is OK
  for original kexec implementation, because there is no jumping back.
  But, for kexec with jumping back, another usage model may be useful too.
 
  - sys_kexec_load() /* with executable/data loaded */
  - sys_reboot(,,LINUX_REBOOT_CMD_KEXEC,parameters(A)) /* execute physical 
  mode
  code with parameters(A)*/
  - sys_reboot(,,LINUX_REBOOT_CMD_KEXEC,parameters(B)) /* execute physical 
  mode
  code with parameters(B)*/
 
  This way the kexec image need not to be re-loaded, and the state of
  kexec image can be reserved across several invoking.
 
 Interesting.  We wind up preserving the code in between invocations.
 
 I don't know about your particular issue, but I can see that clearly
 we need a way to read values back from our target image.
 
 And if we can read everything back one way to proceed is to read
 everything out modify it and then write it back.
 
 Amending a kexec image that is already stored may also make sense.
 
 I'm not convinced that the var arg parameters make sense, but you
 added them because of a real need.
 
 The kexec function is split into two separate calls so that we can
 unmount the filesystem the kexec image comes from before actually
 doing the kexec.

My real issue is that I need a kind of kernel to kernel communication
method. The var args is just a convenient way to pass an array of
unsigned longs between two kernels. The reason is as follow:

The kexec based hibernating process is as follow:

h1. put devices in quiescent state
h2. save devices/CPU state
h3. jump to kexeced kernel (kernel B)
*h4. normal kernel boot of kernel B
*h5. save devices/CPU state
*h6. jump back to original kernel (kernel A)
h7. restore devices/CPU state
h8. put devices in quiescent state
h9. put devices in low power state
h10. execute necessary ACPI method (prepare to sleep)
h11. save devices/CPU state
h12. jump to kernel B
*h13. execute necessary ACPI method (wake up)
*h14. restore devices/CPU state
*h15. put devices in normal power state
*h16. write memory image of kernel A into disk
*h17. put system into ACPI S4 state

The kexec based resuming process is as follow:

*r1. boot the resuming kernel (kernel C)
*r2. restore the memory image of kernel A
*r3. put devices in quiescent state
*r4. execute necessary ACPI method (prepare to resume)
*r5. jump to kernel A
r6. execute necessary ACPI method (wake up)
r7. restore devices/CPU state

Where, line begin with * is executed in kernel B and kernel C, others
are executed in kernel A.

The kernel A need to distinguish the difference between h7 and r6, while
the kernel B/C need to distinguish between *h13 and normal jump back.
The different kernel action need to be taken depends on the action of
peer kernel. Now, this is solved by kernel-kernel communication, a
command word is passed to peer kernel to inform the action required.

I remember you have said before that you think it is better to use only
user space to user space communication between kernel A and kernel B.
This is OK for normal kexec. But if the kexec jump is used for multiple
functions with early kernel action involved (normal kexec jump, kexec
jump to hibernate, kexec jump to resume), it is necessary to use kernel
to kernel communication.

The var args in the patch is just an array of unsigned longs, it can be
expresses as follow too.

int kexec_call(struct kimage *image, unsigned long *ret, unsigned int
argc, unsigned long argv[]);

The var args version is as follow.

int kexec_call(struct kimage *image, unsigned long *ret, unsigned int
argc, ...);

Best Regards,
Huang Ying

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  

Update ip command line processing

2007-12-18 Thread Simon Horman
Recently the documentation in Documentation/nfsroot.txt was
update to note that in fact ip=off and ip=::off as the
latter is ignored and the default (on) is used.

This was certainly a step in the direction of reducing confusion.
But it seems to me that the code ought to be fixed up so that
ip=::off actually turns off ip autoconfiguration.

This patch also notes more specifically that ip=on (aka ip=::on)
is the default.

Cc: Amos Waterland [EMAIL PROTECTED]
Signed-off-by: Simon Horman [EMAIL PROTECTED]

Index: net-2.6.25/net/ipv4/ipconfig.c
===
--- net-2.6.25.orig/net/ipv4/ipconfig.c 2007-12-18 17:45:07.0 +0900
+++ net-2.6.25/net/ipv4/ipconfig.c  2007-12-18 17:45:52.0 +0900
@@ -1414,9 +1414,16 @@ late_initcall(ip_auto_config);
  */
 static int __init ic_proto_name(char *name)
 {
+   if (!name) {
+   return 1;
+   }
if (!strcmp(name, on) || !strcmp(name, any)) {
return 1;
}
+   if (!strcmp(name, off) || !strcmp(name, none)) {
+   ic_enable = 0;
+   return 1;
+   }
 #ifdef CONFIG_IP_PNP_DHCP
else if (!strcmp(name, dhcp)) {
ic_proto_enabled = ~IC_RARP;
@@ -1451,12 +1458,6 @@ static int __init ip_auto_config_setup(c
 
ic_set_manually = 1;
 
-   ic_enable = (*addrs 
-   (strcmp(addrs, off) != 0) 
-   (strcmp(addrs, none) != 0));
-   if (!ic_enable)
-   return 1;
-
if (ic_proto_name(addrs))
return 1;
 
Index: net-2.6.25/Documentation/nfsroot.txt
===
--- net-2.6.25.orig/Documentation/nfsroot.txt   2007-12-18 17:46:47.0 
+0900
+++ net-2.6.25/Documentation/nfsroot.txt2007-12-18 17:48:51.0 
+0900
@@ -97,10 +97,6 @@ ip=client-ip:server-ip:gw-ip:netm
   autoconfiguration will take place.  The most common way to use this
   is ip=dhcp.
 
-  Note that ip=off is not the same thing as ip=::off, because in
-  the latter autoconfiguration will take place if any of DHCP, BOOTP or RARP
-  are compiled in the kernel.
-
   client-ip  IP address of the client.
 
Default:  Determined using autoconfiguration.
@@ -150,6 +146,7 @@ ip=client-ip:server-ip:gw-ip:netm
 
   off or none: don't use autoconfiguration
  on or any:   use any protocol available in the kernel
+  (default)
  dhcp:use DHCP
  bootp:   use BOOTP
  rarp:use RARP
--
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]: Atmel Serial Console interrupt handler splitup

2007-12-18 Thread Haavard Skinnemoen
On Mon, 17 Dec 2007 23:49:32 +
Russell King - ARM Linux [EMAIL PROTECTED] wrote:

 On Mon, Dec 17, 2007 at 09:56:30PM +0100, Remy Bohmer wrote:
+#define lread(port)  __raw_readl(port)
+#define lwrite(v, port)  __raw_writel(v, port)
  
   Why is this necessary, and what does 'l' stand for?
  
  There is a huge list of macros below these definitions. By doing it
  this way, the macros still fit on 80 characters wide, while without
  them, I had split up the macros over several lines, which does not
  make it more readable. That's all.
  'l' refers at the last letter of __raw_readl, and writel. Nothing special.
 
 So why not keep to the Linux convention?  How about at_readl() and
 at_writel() ?

Something like this perhaps?

#define at_readl(port, off) __raw_readl((port)-membase + (off))
#define at_writel(v, port, off) __raw_writel(v, (port)-membase + (off))

#define UART_PUT_CR(port, v)at_writel(v, port, ATMEL_US_CR)
#define UART_PUT_MR(port, v)at_writel(v, port, ATMEL_US_MR)
#define UART_PUT_IER(port, v)   at_writel(v, port, ATMEL_US_IER)
#define UART_PUT_IDR(port, v)   at_writel(v, port, ATMEL_US_IDR)
#define UART_PUT_CHAR(port, v)  at_writel(v, port, ATMEL_US_THR)
#define UART_PUT_BRGR(port, v)  at_writel(v, port, ATMEL_US_BRGR)
#define UART_PUT_RTOR(port, v)  at_writel(v, port, ATMEL_US_RTOR)

That said, I wonder if it may actually be nicer to just use
at_writel()/at_readl() throughout the driver...but that's for a later
cleanup.

  
+ while (!(UART_GET_CSR(port)  ATMEL_US_TXEMPTY))
+ barrier();
  
   Should probably use cpu_relax(), but it's probably out of scope for a
   codingstyle cleanup patch (and I don't think it matters on AVR32 or
   ARM.)
  
  Agree.
 
 Even though it doesn't matter at the moment, I rather like to think a
 bit about the future.  If the kernel has a simple and cheap mechanism
 there's no reason to avoid using it.

I can do it in a separate patch.

  
  /*
-  *  First, save IMR and then disable interrupts
+  *  First, save IMR and then disable interrupts
   */
  imr = UART_GET_IMR(port);   /* get interrupt mask */
  UART_PUT_IDR(port, ATMEL_US_RXRDY | ATMEL_US_TXRDY);
@@ -790,30 +828,32 @@ static void atmel_console_write(struct c
  uart_console_write(port, s, count, atmel_console_putchar);
   
  /*
-  *  Finally, wait for transmitter to become empty
-  *  and restore IMR
+  *  Finally, wait for transmitter to become empty
+  *  and restore IMR
   */
  
   Looks like you're replacing TABs with spaces. Why?
  
  
 
 I think someone's mailer might be messing with the patches.  The above
 removed and added lines appear to be identical.

Yes, the difference was wiped out after a few times back and forth. It
was visible (or...not actually visible, but you know how to detect
these things) in the first couple of e-mails.

Haavard
--
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 PATCH 08/12] PAT 64b: coherent mmap and sysfs bin ioctl

2007-12-18 Thread Andi Kleen
 Well the other alternative looks like having a second file per par
 bar.  Say resource0_wc to support the write-combining mode, possibly

The intention was to support memory not in bars, but give a generic
IOMMU mapped memory interface for user space e.g. for the X server.
But that needs a way to return the bus address for the mmap mapping
and ioctl was the best I came up with for that.
Given it was never finished.

-Andi
--
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/PATCH 1/4] pci: Add pci_enable_device_{io,mem} intefaces

2007-12-18 Thread Ivan Kokshaysky
On Tue, Dec 18, 2007 at 11:02:37AM +1100, Benjamin Herrenschmidt wrote:
 +EXPORT_SYMBOL(pci_enable_device_io);
 +EXPORT_SYMBOL(pci_enable_device_mem);
  EXPORT_SYMBOL(pci_enable_device);

Wouldn't it be better to export only the pci_enable_device_flags()
and make these three just static inline wrappers in pci.h?

  EXPORT_SYMBOL(pcim_enable_device);

Looks like many SATA drivers would benefit from pcim_* equivalents
of pci_enable_device_{io,mem}, as they could happily work with just
a single MMIO BAR... Alan?

Ivan.
--
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/PATCH 1/4] pci: Add pci_enable_device_{io,mem} intefaces

2007-12-18 Thread Benjamin Herrenschmidt

On Tue, 2007-12-18 at 12:37 +0300, Ivan Kokshaysky wrote:
 On Tue, Dec 18, 2007 at 11:02:37AM +1100, Benjamin Herrenschmidt wrote:
  +EXPORT_SYMBOL(pci_enable_device_io);
  +EXPORT_SYMBOL(pci_enable_device_mem);
   EXPORT_SYMBOL(pci_enable_device);
 
 Wouldn't it be better to export only the pci_enable_device_flags()
 and make these three just static inline wrappers in pci.h?

Been thinking about it yeah. I don't want drivers to start using
the _flags version directly tho, which is why I preferred going that
way but if people prefer the inline version, I'll do that.

   EXPORT_SYMBOL(pcim_enable_device);
 
 Looks like many SATA drivers would benefit from pcim_* equivalents
 of pci_enable_device_{io,mem}, as they could happily work with just
 a single MMIO BAR... Alan?

I have no experience with the pcim stuff, I would appreciate if somebody
took care of that part.

Cheers,
Ben.


--
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 v2] atmel_serial: Clean up the code

2007-12-18 Thread Haavard Skinnemoen
From: Remy Bohmer [EMAIL PROTECTED]

This patch cleans up the atmel_serial driver to conform the coding rules.
It contains no functional change.

[EMAIL PROTECTED]: additional cleanups]
Signed-off-by: Remy Bohmer [EMAIL PROTECTED]
Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
Changes since v1:
Use at_{read,write}l instead of l{write,read}
More whitespace cleanup
Re-break stuff in atmel_enable_ms()
Kill inlines
Fix comment indentation
Re-indent if() condition in handle_status
Re-indent request_irq() call
Kill useless comments
Revert TODO: CR change
Move comment inside if() body
Kill redundant parens and re-indent

Please note that I'm not trying to steal the show here -- I just want
to get the fundamental stuff out of the way so that I can do
additional fixes on top of everything without having to resolve lots
of conflicts when the next version of this patch comes along.

Haavard

 drivers/serial/atmel_serial.c |  328 -
 1 files changed, 190 insertions(+), 138 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 111da57..7af8af8 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -74,38 +74,42 @@
 
 #define ATMEL_ISR_PASS_LIMIT   256
 
-#define UART_PUT_CR(port,v)__raw_writel(v, (port)-membase + ATMEL_US_CR)
-#define UART_GET_MR(port)  __raw_readl((port)-membase + ATMEL_US_MR)
-#define UART_PUT_MR(port,v)__raw_writel(v, (port)-membase + ATMEL_US_MR)
-#define UART_PUT_IER(port,v)   __raw_writel(v, (port)-membase + ATMEL_US_IER)
-#define UART_PUT_IDR(port,v)   __raw_writel(v, (port)-membase + ATMEL_US_IDR)
-#define UART_GET_IMR(port) __raw_readl((port)-membase + ATMEL_US_IMR)
-#define UART_GET_CSR(port) __raw_readl((port)-membase + ATMEL_US_CSR)
-#define UART_GET_CHAR(port)__raw_readl((port)-membase + ATMEL_US_RHR)
-#define UART_PUT_CHAR(port,v)  __raw_writel(v, (port)-membase + ATMEL_US_THR)
-#define UART_GET_BRGR(port)__raw_readl((port)-membase + ATMEL_US_BRGR)
-#define UART_PUT_BRGR(port,v)  __raw_writel(v, (port)-membase + ATMEL_US_BRGR)
-#define UART_PUT_RTOR(port,v)  __raw_writel(v, (port)-membase + ATMEL_US_RTOR)
-
-// #define UART_GET_CR(port)   __raw_readl((port)-membase + ATMEL_US_CR)  
// is write-only
+#define at_readl(port, off)__raw_readl((port)-membase + (off))
+#define at_writel(v, port, off)__raw_writel(v, (port)-membase + (off))
+
+#define UART_PUT_CR(port, v)   at_writel(v, port, ATMEL_US_CR)
+#define UART_PUT_MR(port, v)   at_writel(v, port, ATMEL_US_MR)
+#define UART_PUT_IER(port, v)  at_writel(v, port, ATMEL_US_IER)
+#define UART_PUT_IDR(port, v)  at_writel(v, port, ATMEL_US_IDR)
+#define UART_PUT_CHAR(port, v) at_writel(v, port, ATMEL_US_THR)
+#define UART_PUT_BRGR(port, v) at_writel(v, port, ATMEL_US_BRGR)
+#define UART_PUT_RTOR(port, v) at_writel(v, port, ATMEL_US_RTOR)
+
+#define UART_GET_MR(port)  at_readl(port, ATMEL_US_MR)
+#define UART_GET_IMR(port) at_readl(port, ATMEL_US_IMR)
+#define UART_GET_CSR(port) at_readl(port, ATMEL_US_CSR)
+#define UART_GET_CHAR(port)at_readl(port, ATMEL_US_RHR)
+#define UART_GET_BRGR(port)at_readl(port, ATMEL_US_BRGR)
+
+/* is write-only */
+/* #define UART_GET_CR(port)   at_readl(port, ATMEL_US_CR) */
 
  /* PDC registers */
-#define UART_PUT_PTCR(port,v)  __raw_writel(v, (port)-membase + 
ATMEL_PDC_PTCR)
-#define UART_GET_PTSR(port)__raw_readl((port)-membase + ATMEL_PDC_PTSR)
-
-#define UART_PUT_RPR(port,v)   __raw_writel(v, (port)-membase + ATMEL_PDC_RPR)
-#define UART_GET_RPR(port) __raw_readl((port)-membase + ATMEL_PDC_RPR)
-#define UART_PUT_RCR(port,v)   __raw_writel(v, (port)-membase + ATMEL_PDC_RCR)
-#define UART_PUT_RNPR(port,v)  __raw_writel(v, (port)-membase + 
ATMEL_PDC_RNPR)
-#define UART_PUT_RNCR(port,v)  __raw_writel(v, (port)-membase + 
ATMEL_PDC_RNCR)
-
-#define UART_PUT_TPR(port,v)   __raw_writel(v, (port)-membase + ATMEL_PDC_TPR)
-#define UART_PUT_TCR(port,v)   __raw_writel(v, (port)-membase + ATMEL_PDC_TCR)
-//#define UART_PUT_TNPR(port,v)__raw_writel(v, (port)-membase + 
ATMEL_PDC_TNPR)
-//#define UART_PUT_TNCR(port,v)__raw_writel(v, (port)-membase + 
ATMEL_PDC_TNCR)
-
-static int (*atmel_open_hook)(struct uart_port *);
-static void (*atmel_close_hook)(struct uart_port *);
+#define UART_PUT_PTCR(port, v) at_writel(v, port, ATMEL_PDC_PTCR)
+#define UART_PUT_RPR(port, v)  at_writel(v, port, ATMEL_PDC_RPR)
+#define UART_PUT_RCR(port, v)  at_writel(v, port, ATMEL_PDC_RCR)
+#define UART_PUT_RNPR(port, v) at_writel(v, port, ATMEL_PDC_RNPR)
+#define UART_PUT_RNCR(port, v) at_writel(v, port, ATMEL_PDC_RNCR)
+#define UART_PUT_TPR(port, v)  at_writel(v, port, ATMEL_PDC_TPR)
+#define UART_PUT_TCR(port, v)  at_writel(v, port, ATMEL_PDC_TCR)
+/*#define UART_PUT_TNPR(port, v) at_writel(v, port, ATMEL_PDC_TNPR) */
+/*#define UART_PUT_TNCR(port, 

Re: [RFC/PATCH 4/4] [POWERPC] pci: Disable IO/Mem on a device when resources can't be allocated

2007-12-18 Thread Ivan Kokshaysky
On Tue, Dec 18, 2007 at 10:01:15AM +1100, Benjamin Herrenschmidt wrote:
 @@ -1040,7 +1040,10 @@ static inline void __devinit alloc_resou
   r-flags |= IORESOURCE_UNSET;
   r-end -= r-start;
   r-start = 0;

Perhaps we should use IORESOURCE_UNSET universally... It's a lot better
than clearing r-start which is in fact architecture dependent thing
and in the end just destroys information for no purpose.

Ivan.
--
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] arch/s390/: Spelling fixes

2007-12-18 Thread Martin Schwidefsky
Hi Joe,
I've added all three spelling fix patches to the git390. The patch for
drivers lost one hunk because there is another patch in the git390 tree
that removes the comment you are trying to fix. Your patches will be
included in the big merge frenzy after 2.6.24 has been released.
Thanks.

-- 
blue skies,
  Martin.

Reality continues to ruin my life. - Calvin.


--
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: Top kernel oopses/warnings this week

2007-12-18 Thread Jon Masters

On Mon, 2007-12-17 at 21:31 -0500, Theodore Tso wrote:
 On Mon, Dec 17, 2007 at 04:21:12PM -0800, Linus Torvalds wrote:
  which also gets bonus points for being totally unreadable, and thus 100% 
  in the spirit of uuid's.
 
 Heh.  UUID's don't have to be readable; just universally unique.  Code
 on the other hand should be readable.   :-)
 
 If you want something more readable, you could print the MAC address
 and boot time.  Of course some crazy people seem to think leaking the
 MAC address will somehow be a privacy violation.  And printing a
 random UUID is a lot simpler

Printing a random UUID is necessary, for now anyway, because you cannot
assume every machine is going to have a MAC address, even if it is
deemed appropriate to print this on oops.

The Network is the Computer!

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: [PATCH/RFC] [POWERPC] Add fixed-phy support for fs_enet

2007-12-18 Thread Jochen Friedrich
Hi Jeff,

 ACK, pass this through paulus?

Yes, that's fine for me.

Thanks,
Jochen
--
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/


Memory Read Error

2007-12-18 Thread shashi59

I am newbie for Linux Kernel.How can I read the memory area like the range
between  to .Directly i read that area it shows some error
like this unable to handle kernel paging request at virtual address
. So,I don't know, how to solve this error .Please anyone help
me

Thanks in Advance
-Sasi-

-- 
View this message in context: 
http://www.nabble.com/Memory-Read-Error-tp14390531p14390531.html
Sent from the linux-kernel mailing list archive at Nabble.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: [PATCH v2] atmel_serial: Clean up the code

2007-12-18 Thread Remy Bohmer
Hello Haavard,

 Please note that I'm not trying to steal the show here -- I just want

That did not even come to my mind at all...
I am happy with everything that helps making this driver better.

What shall we do first from here, splitup of the interrupt handler? Or
DMA patch?


Kind Regards,

Remy
--
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] MAINTAINERS: zfcp

2007-12-18 Thread Swen Schillig
James

we are planning a major rewrite of the zfcp driver, 
meaning that a lot of patches will hit the mailing-list in the near future.

Since I can't support this additional work-load along with my other 
responsibilities we are shifting the maintainership to
Christof Schmitt as the maintainer and
Martin Peschke as the co-maintainer.

Please support the two in providing us a new and more stable
zfcp environment.

Thanks
Swen

---
 MAINTAINERS |6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

Index: scsi-misc/MAINTAINERS
===
--- scsi-misc.orig/MAINTAINERS
+++ scsi-misc/MAINTAINERS
@@ -3246,8 +3246,10 @@ W:   http://www.ibm.com/developerworks/lin
 S: Supported
 
 S390 ZFCP DRIVER
-P: Swen Schillig
-M: [EMAIL PROTECTED]
+P: Christof Schmitt
+M: [EMAIL PROTECTED]
+P: Martin Peschke
+M: [EMAIL PROTECTED]
 M: [EMAIL PROTECTED]
 L: [EMAIL PROTECTED]
 W: http://www.ibm.com/developerworks/linux/linux390/
--
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] pcmcia: Add support P2CCLK bit enabler for TI PC1520

2007-12-18 Thread Nobuhiro Iwamatsu
There is a device that doesn't work when P2CCLK's bit of TI PC1520 was disable.
This patch supports P2CCLK bit enabler for TI PC1520.

Signed-off-by: Nobuhiro Iwamatsu [EMAIL PROTECTED]
---
 drivers/pcmcia/Kconfig  |5 +
 drivers/pcmcia/ti113x.h |8 
 2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 519b4ff..3d80888 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -134,6 +134,11 @@ config YENTA_ENE_TUNE
bool Auto-tune EnE bridges for CB cards if EMBEDDED
depends on YENTA_TI  CARDBUS
 
+config YENTA_TI_P2CCLK
+   default n
+   bool Clock generated by internal oscillator if EMBEDDED
+   depends on YENTA_TI  CARDBUS
+
 config YENTA_TOSHIBA
default y
bool Special initialization for Toshiba ToPIC bridges if EMBEDDED
diff --git a/drivers/pcmcia/ti113x.h b/drivers/pcmcia/ti113x.h
index d29657b..ea749e8 100644
--- a/drivers/pcmcia/ti113x.h
+++ b/drivers/pcmcia/ti113x.h
@@ -59,6 +59,7 @@
 #define  TI122X_SCR_SER_STEP   0xc000
 #define  TI122X_SCR_INTRTIE0x2000
 #define  TIXX21_SCR_TIEALL 0x1000
+#define  TI122X_SCR_P2CCLK 0x0800
 #define  TI122X_SCR_CBRSVD 0x0040
 #define  TI122X_SCR_MRBURSTDN  0x8000
 #define  TI122X_SCR_MRBURSTUP  0x4000
@@ -822,6 +823,13 @@ static int ti12xx_override(struct yenta_socket *socket)
printk(KERN_INFO Yenta: Enabling burst memory read 
transactions\n);
val |= TI122X_SCR_MRBURSTUP;
}
+
+#ifdef CONFIG_YENTA_TI_P2CCLK
+   if ( !(val  TI122X_SCR_P2CCLK)) {
+   printk(KERN_INFO Yenta: Clock generated by internal 
oscillator\n);
+   val |= TI122X_SCR_P2CCLK;
+   }
+#endif
if (val_orig != val)
config_writel(socket, TI113X_SYSTEM_CONTROL, val);
 
-- 
1.5.3.6
--
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]: Atmel Serial Console interrupt handler splitup

2007-12-18 Thread Haavard Skinnemoen
On Tue, 18 Dec 2007 12:08:05 +0200
Andrew Victor [EMAIL PROTECTED] wrote:

  #define at_readl(port, off) __raw_readl((port)-membase + (off))
  #define at_writel(v, port, off) __raw_writel(v, (port)-membase + (off))
 
  #define UART_PUT_CR(port, v)at_writel(v, port, ATMEL_US_CR)
  #define UART_PUT_MR(port, v)at_writel(v, port, ATMEL_US_MR)  
 
 I'd like to point out this relatively recent change to CodingStyle.
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dff4982f5cd4e30e2a140a3bca95d8814115bf5b
 
 So I don't see a reason for complicating the code by adding additional
 macro's just to fit it in 80 column's.

Hmm...yes, I think that change to the CodingStyle makes sense. But I
guess the question is whether the old code significantly increases
readability and whether the new code hides information.

I don't think so, but I don't feel all that strongly about it. I'd
actually prefer if we used at_writel() and at_readl() throughout the
code and killed those UART_PUT/UART_GET macros.

Haavard
--
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] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)

2007-12-18 Thread Shyam_Iyer
The dmesg snippet with the patched kernel. This does not contain my
patch.

Linux version 2.6.24-rc5-default ([EMAIL PROTECTED]) (gcc version 4.1.2
20070115 (prerelease) (SUSE Linux)) #2 SMP Thu Dec 13 15:38:25 IST 2007
Command line:
root=/dev/disk/by-id/scsi-3600508e03ad8e2c732a09d08-part3
vga=0x31a resume=/dev/sda2 splash=verbose showopts 1
BIOS-provided physical RAM map:
 BIOS-e820:  - 0009cc00 (usable)
 BIOS-e820: 0009cc00 - 000a (reserved)
 BIOS-e820: 000cc000 - 0010 (reserved)
 BIOS-e820: 0010 - 7fff (usable)
 BIOS-e820: 7fff - 8000 (reserved)
 BIOS-e820: 8000 - cff0 (usable)
 BIOS-e820: cff0 - cff0a000 (ACPI data)
 BIOS-e820: cff0a000 - cff8 (ACPI NVS)
 BIOS-e820: cff8 - d000 (reserved)
 BIOS-e820: e000 - f000 (reserved)
 BIOS-e820: fec0 - fec1 (reserved)
 BIOS-e820: fee0 - fee01000 (reserved)
 BIOS-e820: fff8 - 0001 (reserved)
 BIOS-e820: 0001 - 00023000 (usable)
Entering add_active_range(0, 0, 156) 0 entries of 3200 used
Entering add_active_range(0, 256, 524272) 1 entries of 3200 used
Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used
Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used
end_pfn_map = 2293760
DMI present.
ACPI: RSDP 000F7AE0, 0014 (r0 PTLTD )
ACPI: RSDT CFF064D5, 004C (r1 DELL   PE_SC3604 DELL0)
ACPI: FACP CFF09906, 0074 (r1 DELL   PE_SC3604 DELLF4240)
ACPI: DSDT CFF06521, 33E5 (r1 DELL   PE_SC3604 MSFT  10E)
ACPI: FACS CFF0AFC0, 0040
ACPI: TCPA CFF0997A, 0032 (r1 Phoeni  x604  TL 0)
ACPI: SLIC CFF099AC, 0176 (r1 DELL   PE_SC3604 PTL 1)
ACPI: SPCR CFF09B22, 0050 (r1 DELL   PE_SC3604 PTL 1)
ACPI: SRAT CFF09B72, 00C8 (r1 AMDHAMMER604 AMD 1)
ACPI: SSDT CFF09C3A, 02CC (r1 AMDPOWERNOW  604 AMD 1)
ACPI: MCFG CFF09F06, 003C (r1 PTLTDMCFG604  LTP0)
ACPI: HPET CFF09F42, 0038 (r1 PTLTD  HPETTBL   604  LTP1)
ACPI: APIC CFF09F7A, 005E (r1 PTLTD  APIC604  LTP0)
ACPI: BOOT CFF09FD8, 0028 (r1 PTLTD  $SBFTBL$  604  LTP1)
SRAT: PXM 0 - APIC 0 - Node 0
SRAT: PXM 0 - APIC 1 - Node 0
SRAT: Node 0 PXM 0 0-a
Entering add_active_range(0, 0, 156) 0 entries of 3200 used
SRAT: Node 0 PXM 0 0-d000
Entering add_active_range(0, 0, 156) 1 entries of 3200 used
Entering add_active_range(0, 256, 524272) 1 entries of 3200 used
Entering add_active_range(0, 524288, 851712) 2 entries of 3200 used
SRAT: Node 0 PXM 0 0-23000
Entering add_active_range(0, 0, 156) 3 entries of 3200 used
Entering add_active_range(0, 256, 524272) 3 entries of 3200 used
Entering add_active_range(0, 524288, 851712) 3 entries of 3200 used
Entering add_active_range(0, 1048576, 2293760) 3 entries of 3200 used
NUMA: Using 63 for the hash shift.
Bootmem setup node 0 -00023000
Zone PFN ranges:
  DMA 0 - 4096
  DMA324096 -  1048576
  Normal1048576 -  2293760
Movable zone start PFN for each node
early_node_map[4] active PFN ranges
0:0 -  156
0:  256 -   524272
0:   524288 -   851712
0:  1048576 -  2293760
On node 0 totalpages: 2096780
  DMA zone: 96 pages used for memmap
  DMA zone: 2540 pages reserved
  DMA zone: 1360 pages, LIFO batch:0
  DMA32 zone: 24480 pages used for memmap
  DMA32 zone: 823120 pages, LIFO batch:31
  Normal zone: 29184 pages used for memmap
  Normal zone: 1216000 pages, LIFO batch:31
  Movable zone: 0 pages used for memmap
ACPI: PM-Timer IO Port: 0x8008
ACPI: Local APIC address 0xfee0
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 (Bootup-CPU)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0])
IOAPIC[0]: apic_id 2, address 0xfec0, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
ACPI: IRQ0 used by override.
ACPI: IRQ2 used by override.
ACPI: IRQ9 used by override.
Setting APIC routing to flat
ACPI: HPET id: 0x10de8201 base: 0xfed0
Using ACPI (MADT) for SMP configuration information
swsusp: Registered nosave memory region: 0009c000 -
0009d000
swsusp: Registered nosave memory region: 0009d000 -
000a
swsusp: Registered nosave memory region: 000a -
000cc000
swsusp: Registered nosave memory region: 000cc000 -
0010
swsusp: Registered nosave memory region: 7fff -
8000
swsusp: Registered nosave memory region: cff0 -
cff0a000
swsusp: Registered nosave memory region: 

Re: [PATCH v2] atmel_serial: Clean up the code

2007-12-18 Thread Haavard Skinnemoen
On Tue, 18 Dec 2007 11:14:42 +0100
Remy Bohmer [EMAIL PROTECTED] wrote:

 Hello Haavard,
 
  Please note that I'm not trying to steal the show here -- I just want
 
 That did not even come to my mind at all...
 I am happy with everything that helps making this driver better.

Good :)

 What shall we do first from here, splitup of the interrupt handler? Or
 DMA patch?

I currently have the patches applied in the order you sent them, with my
stuff wedged in between (thanks to git-rebase --interactive.) So I
think it makes sense to do the interrupt handler splitup first, even
though I personally care more about the DMA patch.

Haavard
--
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] x86: unify extable_{32|64}.c

2007-12-18 Thread Harvey Harrison
Introduce fixup_exception() on X86_64 and use it in kprobes to
eliminate an #ifdef.

Only X86_64 needs search_extable() due to a stepping bug.

Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
---
 arch/x86/kernel/kprobes.c |   12 +
 arch/x86/mm/Makefile_32   |2 +-
 arch/x86/mm/Makefile_64   |2 +-
 arch/x86/mm/extable.c |   62 +
 arch/x86/mm/extable_32.c  |   35 -
 arch/x86/mm/extable_64.c  |   34 
 6 files changed, 65 insertions(+), 82 deletions(-)

diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
index 1a0d96d..045a45e 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -902,19 +902,9 @@ int __kprobes kprobe_fault_handler(struct pt_regs *regs, 
int trapnr)
 * In case the user-specified fault handler returned
 * zero, try to fix up.
 */
-#ifdef CONFIG_X86_64
-   {
-   const struct exception_table_entry *fixup;
-   fixup = search_exception_tables(regs-ip);
-   if (fixup) {
-   regs-ip = fixup-fixup;
-   return 1;
-   }
-   }
-#else
if (fixup_exception(regs))
return 1;
-#endif
+
/*
 * fixup routine could not handle it,
 * Let do_page_fault() fix it.
diff --git a/arch/x86/mm/Makefile_32 b/arch/x86/mm/Makefile_32
index a01aca7..6a5e981 100644
--- a/arch/x86/mm/Makefile_32
+++ b/arch/x86/mm/Makefile_32
@@ -2,7 +2,7 @@
 # Makefile for the linux i386-specific parts of the memory manager.
 #
 
-obj-y  := init_32.o pgtable_32.o fault_32.o ioremap_32.o extable_32.o 
pageattr_32.o mmap.o
+obj-y  := init_32.o pgtable_32.o fault_32.o ioremap_32.o extable.o 
pageattr_32.o mmap.o
 
 obj-$(CONFIG_NUMA) += discontig_32.o
 obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
diff --git a/arch/x86/mm/Makefile_64 b/arch/x86/mm/Makefile_64
index b5a7448..09c997f 100644
--- a/arch/x86/mm/Makefile_64
+++ b/arch/x86/mm/Makefile_64
@@ -2,7 +2,7 @@
 # Makefile for the linux x86_64-specific parts of the memory manager.
 #
 
-obj-y   := init_64.o fault_64.o ioremap_64.o extable_64.o pageattr_64.o mmap.o
+obj-y   := init_64.o fault_64.o ioremap_64.o extable.o pageattr_64.o mmap.o
 obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
 obj-$(CONFIG_NUMA) += numa_64.o
 obj-$(CONFIG_K8_NUMA) += k8topology_64.o
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c
new file mode 100644
index 000..7e8db53
--- /dev/null
+++ b/arch/x86/mm/extable.c
@@ -0,0 +1,62 @@
+#include linux/module.h
+#include linux/spinlock.h
+#include asm/uaccess.h
+
+
+int fixup_exception(struct pt_regs *regs)
+{
+   const struct exception_table_entry *fixup;
+
+#ifdef CONFIG_PNPBIOS
+   if (unlikely(SEGMENT_IS_PNP_CODE(regs-cs))) {
+   extern u32 pnp_bios_fault_eip, pnp_bios_fault_esp;
+   extern u32 pnp_bios_is_utter_crap;
+   pnp_bios_is_utter_crap = 1;
+   printk(KERN_CRIT PNPBIOS fault.. attempting recovery.\n);
+   __asm__ volatile(
+   movl %0, %%esp\n\t
+   jmp *%1\n\t
+   : : g (pnp_bios_fault_esp), g (pnp_bios_fault_eip));
+   panic(do_trap: can't hit this);
+   }
+#endif
+
+   fixup = search_exception_tables(regs-ip);
+   if (fixup) {
+   regs-ip = fixup-fixup;
+   return 1;
+   }
+
+   return 0;
+}
+
+#ifdef CONFIG_X86_64
+/*
+ * Need to defined our own search_extable on X86_64 to work around
+ * a B stepping K8 bug.
+ */
+const struct exception_table_entry *
+search_extable(const struct exception_table_entry *first,
+  const struct exception_table_entry *last,
+  unsigned long value)
+{
+   /* B stepping K8 bug */
+   if ((value  32) == 0)
+   value |= 0xUL  32;
+
+   while (first = last) {
+   const struct exception_table_entry *mid;
+   long diff;
+
+   mid = (last - first) / 2 + first;
+   diff = mid-insn - value;
+   if (diff == 0)
+   return mid;
+   else if (diff  0)
+   first = mid+1;
+   else
+   last = mid-1;
+   }
+   return NULL;
+}
+#endif
diff --git a/arch/x86/mm/extable_32.c b/arch/x86/mm/extable_32.c
deleted file mode 100644
index 4168546..000
--- a/arch/x86/mm/extable_32.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * linux/arch/i386/mm/extable.c
- */
-
-#include linux/module.h
-#include linux/spinlock.h
-#include asm/uaccess.h
-
-int fixup_exception(struct pt_regs *regs)
-{
-   const struct exception_table_entry *fixup;
-
-#ifdef CONFIG_PNPBIOS
-   if (unlikely(SEGMENT_IS_PNP_CODE(regs-cs)))
-   {
-   

Re: No dma_sync_* during pci_probe? (Sparc, post 2.6.22 regression)

2007-12-18 Thread Stefan Richter
[As pointed out elsewhere in the thread, this is indeed about sparc64,
not sparc per se.]

David Miller wrote:
 From: Stefan Richter [EMAIL PROTECTED]
 Date: Tue, 18 Dec 2007 00:53:03 +0100
 
 The fault happens due to dma_sync_single_for_device() which
 drivers/firewire/fw-ohci.c calls in ar_context_add_page() when still
 being in its pci_probe method.  I suspect that --- at least on Sparc and
 after 2.6.22 --- it is not possible anymore to use dma_sync_* before the
 pci_device's or device's probe was finished.
 
 Would that be a bug in the Sparc platform code?  Or a bug in driver core
 code or in PCI code?  Or am I expected to refrain from dma_sync_* calls
 until after the probe returned?
 
 The problem is likely what device struct you are passing to
 dma_sync_single_for_device(), it has to be a real pci_dev or similar
 that has it's dev_archdata properly initialized.
 
 I bet dev_archdata in whatever struct device is being passed in has
 a NULL iommu pointer or something like that.
 
 Oh yeah, I see what you're doing, that won't work, please pass in
 the correct device struct pointer.  Please pass in the pci_dev-dev
 not this ohci-card.device thing.

No, the dev argument is alright.  We use it a few lines above in the
same function in a call to dma_map_single().  The dev argument is IMO
correctly obtained here:

static int
pci_probe(struct pci_dev *dev, const struct pci_device_id *ent)
{
...
fw_card_initialize(ohci-card, ohci_driver, dev-dev);
...
}

void
fw_card_initialize(struct fw_card *card, const struct fw_card_driver
*driver, struct device *device)
{
...
card-device = device;
...
}

So, ohci-card.device is in fact pci_dev-dev.

Also note:
  - The very same code did not oops at this point in 2.6.22.  It only
started doing so in 2.6.23.
  - There has been no other report of this kind for any other
architecture yet.  I would expect e.g. the PPC64 folks to report
bugs in our dma mappings eventually.

-
Two footnotes:

  - Although the 2.6.22 firewire subsystem does not oops during the
pci_probe like it does in 2.6.23 and 2.6.24, it does lock up sometime
later during actual use.  However this is not surprising, as I found and
fixed some portential DMA mapping issues in the fw-sbp2 highlevel driver
sometime after 2.6.22.  But due to the pci_probe problem, the firewire
subsystem doesn't get as far on sparc64 on 2.6.23 and 2.6.24.

  - One thing which we do slightly wrong in ar_context_add_page() is that we
1.) dma-map the buffer,
2.) continue to write into the buffer from the CPU,
3.) then sync it for the device.
I let the reporter try a patch which inserted a
dma_sync_single_for_cpu() right after the dma_map_single() in order to
be clearly entitled to access the buffer by the CPU, but that didn't fix it.

-- 
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: [PATCH] sched: dynamically update the root-domain span/online maps

2007-12-18 Thread Ingo Molnar

* Gregory Haskins [EMAIL PROTECTED] wrote:

 http://marc.info/?l=linux-mm-commitsm=119793598429477w=2
 
 I have confirmed that it builds and boots clean, and it passes 
 checkpatch. However, my test machine seems to be having problems with 
 suspend-to-ram that are unrelated to this patch that prevent me from 
 verifying the fix entirely. If Gautham or Andrew could confirm that it 
 resolves their suspend-to-ram issue, I would be most appreciative.

i'm reluctant to apply it without test results, unless we have a very 
clear picture of what happened on Andrew's box and how this updated 
patch resolves that problem. (or once Andrew tests your patch and deems 
it OK.)

Ingo
--
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: unify extable_{32|64}.c

2007-12-18 Thread Ingo Molnar

* Harvey Harrison [EMAIL PROTECTED] wrote:

 Introduce fixup_exception() on X86_64 and use it in kprobes to 
 eliminate an #ifdef.
 
 Only X86_64 needs search_extable() due to a stepping bug.

thanks, applied.

Ingo
--
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] sched: dynamically update the root-domain span/online maps

2007-12-18 Thread Ingo Molnar

* Gregory Haskins [EMAIL PROTECTED] wrote:

 Hi Steven,
   I posted a suspend-to-ram fix to sched-devel earlier today:
 
 http://lkml.org/lkml/2007/12/17/445
 
 This fix should also be applied to -rt as I introduced the same 
 regression there.  Here is a version of the fix for 23-rt13.  I can 
 submit a version for 24-rc5-rt1 at your request.

well since i reverted the original patch, there's no regression. The 
question is, do we know whether this new patch works fine wrt. s2ram?

Ingo
--
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] x86: Use helper in fault_64.c

2007-12-18 Thread Harvey Harrison
Use the fixup_exception() helper in fault_64.c

Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
---
This is only appropriate if CONFIG_PNP_BIOS cannot be set on
X86_64, which looks to be the case, but needs confirmation.

 arch/x86/mm/fault_64.c |5 +
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/arch/x86/mm/fault_64.c b/arch/x86/mm/fault_64.c
index 121c7bd..3a94941 100644
--- a/arch/x86/mm/fault_64.c
+++ b/arch/x86/mm/fault_64.c
@@ -298,7 +298,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs 
*regs,
struct mm_struct *mm;
struct vm_area_struct * vma;
unsigned long address;
-   const struct exception_table_entry *fixup;
int write, fault;
unsigned long flags;
siginfo_t info;
@@ -508,9 +507,7 @@ bad_area_nosemaphore:
 no_context:

/* Are we prepared to handle this kernel fault?  */
-   fixup = search_exception_tables(regs-ip);
-   if (fixup) {
-   regs-ip = fixup-fixup;
+   if (fixup_exception(regs)) {
return;
}
 
-- 
1.5.4.rc0.1143.g1a8a



--
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: swapping in 2.6.24-rc5-git3

2007-12-18 Thread Lukas Hejtmanek
On Mon, Dec 17, 2007 at 06:15:32PM +0100, Jan Kara wrote:
   I think yes. 0 swappiness doesn't mean no swapping at all. From the
 code in shrink_active_list() it seems that it just decreases likeliness
 of removing pages of mmaped files (i.e., also executables loaded in memory).

So, I tried to add some prints. 

I have mapped ratio about 78 while scp-ing the file. Distress suddenly raises
from 0 to 100. At this poing, all the processes are swapped out.

I guess it happens if scp is faster than the local disk which happens if
I scp-ing over GE from desktop (with fast disk - and reading) to laptop (slow
disk - and writing).

This is my settings.
/proc/sys/vm/*
block_dump:0
dirty_background_ratio:10
dirty_expire_centisecs:2999
dirty_ratio:40
dirty_writeback_centisecs:499
drop_caches:0
laptop_mode:0
legacy_va_layout:0
lowmem_reserve_ratio:256256 32
max_map_count:65536
min_free_kbytes:4006
nr_pdflush_threads:2
oom_kill_allocating_task:0
overcommit_memory:0
overcommit_ratio:50
page-cluster:3
panic_on_oom:0
percpu_pagelist_fraction:0
stat_interval:1
swappiness:0
vfs_cache_pressure:100

-- 
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] initrd: Fix virtual/physical mix-up in overwrite test

2007-12-18 Thread Andrew Morton
On Sun, 16 Dec 2007 11:51:00 +0100 (CET) Geert Uytterhoeven [EMAIL PROTECTED] 
wrote:

 On recent kernels, I get the following error when using an initrd:
 
 | initrd overwritten (0x00b78000  0x07668000) - disabling it.
 
 My Amiga 4000 has 12 MiB of RAM at physical address 0x0740 (virtual
 0x).
 The initrd is located at the end of RAM: 0x00b78000 - 0x00c0 (virtual).
 The overwrite test compares the (virtual) initrd location to the (physical)
 first available memory location, which fails.
 
 This patch converts initrd_start to a page frame number, so it can be safely
 compared with min_low_pfn.
 
 Before the introduction of discontiguous memory support on m68k
 (12d810c1b8c2b913d48e629e2b5c01d105029839), min_low_pfn was just left
 untouched by the m68k-specific code (zero, I guess), and everything worked
 fine.

breaks x86.

init/main.c: In function 'start_kernel':
init/main.c:601: error: implicit declaration of function 'virt_to_pfn'
init/main.c:603: warning: format '%08lx' expects type 'long unsigned int', but 
argument 2 has type 'int'
--
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: [0/4] DST: Distributed storage.

2007-12-18 Thread Evgeniy Polyakov
Hi David.

On Tue, Dec 18, 2007 at 12:00:04PM +1100, David Chinner ([EMAIL PROTECTED]) 
wrote:
 On Mon, Dec 17, 2007 at 06:03:38PM +0300, Evgeniy Polyakov wrote:
  DST passed all FS tests in LTP with XFS (modulo MAX_LOCK_DEPTH too low bug:
  [ 8398.605691] BUG: MAX_LOCK_DEPTH too low!
  [ 8398.609641] turning off the locking correctness validator.
 
 Evgeniy, can you please start reporting these XFS problems you are
 coming across to the XFS list ([EMAIL PROTECTED])? They may be
 real issues that we need to address and we should not be hearing
 about them for the first time in the release notes for a block
 device project

It is not XFS as is, but lock validator warning. I just found it
working with XFS - it can be anything else: VFS, block layer, DST itself
(there is number of locks too), so I did not fill the bug against
filesystem, but pointed that some problem, probalby harmless,
exists in tested environment.

-- 
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: [PATCH] x86: Use helper in fault_64.c

2007-12-18 Thread Ingo Molnar

* Harvey Harrison [EMAIL PROTECTED] wrote:

 Use the fixup_exception() helper in fault_64.c

thanks, applied.

 This is only appropriate if CONFIG_PNP_BIOS cannot be set on X86_64, 
 which looks to be the case, but needs confirmation.

yeah, that seems to be the case:

in drivers/pnp/pnpbios/Kconfig:

 config PNPBIOS
 ...
 depends on ISA  X86  EXPERIMENTAL

in arch/x86/Kconfig:

 if X86_32
 config ISA

it seems the PNPBIOS has not infested the 64-bit world, so we wont ever 
see this with a 64-bit kernel:

extern u32 pnp_bios_is_utter_crap;
pnp_bios_is_utter_crap = 1;
printk(KERN_CRIT PNPBIOS fault.. attempting recovery.\n);

Ingo
--
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: Use helper in fault_64.c

2007-12-18 Thread Harvey Harrison
On Tue, 2007-12-18 at 12:19 +0100, Ingo Molnar wrote:
 * Harvey Harrison [EMAIL PROTECTED] wrote:
 
  Use the fixup_exception() helper in fault_64.c
 
 thanks, applied.
 
  This is only appropriate if CONFIG_PNP_BIOS cannot be set on X86_64, 
  which looks to be the case, but needs confirmation.
 
 yeah, that seems to be the case:
 
 in drivers/pnp/pnpbios/Kconfig:
 
  config PNPBIOS
  ...
  depends on ISA  X86  EXPERIMENTAL
 
 in arch/x86/Kconfig:
 
  if X86_32
  config ISA

That's how I read it, just wanted a second opinion.

Harvey

--
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/


Important regression with XFS update for 2.6.24-rc6

2007-12-18 Thread Damien Wyart
Hello,

As a follow-up to
http://marc.info/?l=linux-kernelm=119796120524618w=2 (LKML seems
down right now so I am not linking to it), I have detected an important
problem with these two patches: after applying them by hand (downloaded
them raw from SGI's gitweb) on top of 2.6.24-rc5-git5 (they have not yet
been pulled into mainline by Linux as of this morning) for testing
purposes, I noticed upon reboot that ls -l on directories with many
files and subdirectories (around 5000 entries) takes several hundreds of
MB in RAM and then dies with memory exhausted error.

I also noticed that ldconfig takes a lot of time to complete, and
firefox seems also to eat much more memory than usual. Reverting the two
patches (going back to vanilla rc5-git5) makes these problems go away.
I am not able to test right now if only one of the patches is bogus or
if both of them are concerned.

As the symptoms are easy to reproduce, I guess this is some kind of
brown paper bag bug and will be easy for XFS experts to spot.


Best,

-- 
Damien Wyart
--
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] sched: dynamically update the root-domain span/online maps

2007-12-18 Thread Andrew Morton
On Tue, 18 Dec 2007 11:48:00 +0100 Ingo Molnar [EMAIL PROTECTED] wrote:

 
 * Gregory Haskins [EMAIL PROTECTED] wrote:
 
  http://marc.info/?l=linux-mm-commitsm=119793598429477w=2
  
  I have confirmed that it builds and boots clean, and it passes 
  checkpatch. However, my test machine seems to be having problems with 
  suspend-to-ram that are unrelated to this patch that prevent me from 
  verifying the fix entirely. If Gautham or Andrew could confirm that it 
  resolves their suspend-to-ram issue, I would be most appreciative.
 
 i'm reluctant to apply it without test results, unless we have a very 
 clear picture of what happened on Andrew's box and how this updated 
 patch resolves that problem. (or once Andrew tests your patch and deems 
 it OK.)
 

wades through a pile of new compile errors

tests it

Seems OK now - resume-from-RAM actually resumes.
--
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/4] x86: add kprobe-booster to X86_64

2007-12-18 Thread Ingo Molnar

* Harvey Harrison [EMAIL PROTECTED] wrote:

 Sorry I missed an ifdef in this patch in the following hunk:

could you resend your kprobes cleanups against current x86.git? They
have been conceptually acked by Masami. This cuts out the unification
part of your queue which is bad luck but the effort has been duplicated
already so there's not much we can do about it i guess.

Your other 17 cleanup and unification patches are still queued up in
x86.git and passed a lot of testing, so they will likely go into
v2.6.25. Nice work!

Ingo
--
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] sched: dynamically update the root-domain span/online maps

2007-12-18 Thread Steven Rostedt

Ingo Molnar wrote:

well since i reverted the original patch, there's no regression. The 
question is, do we know whether this new patch works fine wrt. s2ram?




Hi Ingo,

I included the same patches into 2.6.23.9-rt13 and someone reported s2r 
failed for them. I've included Greg's updates into a pre release of 
-rt14 and sent that to the reporter. I'm waiting on a response before 
releasing -rt14.


Although I did just get a response from Andrew Morton saying that the 
updated patch fixed his box.


-- 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/


Re: [PATCH 3/4] x86: add kprobe-booster to X86_64

2007-12-18 Thread Harvey Harrison
On Tue, 2007-12-18 at 12:29 +0100, Ingo Molnar wrote:
 * Harvey Harrison [EMAIL PROTECTED] wrote:
 
  Sorry I missed an ifdef in this patch in the following hunk:
 
 could you resend your kprobes cleanups against current x86.git? They
 have been conceptually acked by Masami. This cuts out the unification
 part of your queue which is bad luck but the effort has been duplicated
 already so there's not much we can do about it i guess.
 
 Your other 17 cleanup and unification patches are still queued up in
 x86.git and passed a lot of testing, so they will likely go into
 v2.6.25. Nice work!
 
   Ingo

Ingo,

I'd suggest just tossing my kprobes cleanups.  I just sent you a rollup
of anything I saw that was left in mine that was still worthwhile
after Masami's, included below for reference.  It didn't amount to much
left so I rolled it all together:

Subject: [PATCH] x86: kprobes leftover cleanups

Eliminate __always_inline, all of these static functions are
only called once.  Minor whitespace cleanup.  Eliminate one
supefluous return at end of void function.  Reverse sense of
#ifndef to be #ifdef to show the case only affects X86_32.

Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
---
 arch/x86/kernel/kprobes.c |   14 ++
 1 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
index 9aadd4d..1a0d96d 100644
--- a/arch/x86/kernel/kprobes.c
+++ b/arch/x86/kernel/kprobes.c
@@ -159,7 +159,7 @@ struct kretprobe_blackpoint kretprobe_blacklist[] = {
 const int kretprobe_blacklist_size = ARRAY_SIZE(kretprobe_blacklist);
 
 /* Insert a jump instruction at address 'from', which jumps to address 'to'.*/
-static __always_inline void set_jmp_op(void *from, void *to)
+static void set_jmp_op(void *from, void *to)
 {
struct __arch_jmp_op {
char op;
@@ -174,7 +174,7 @@ static __always_inline void set_jmp_op(void *from, void *to)
  * Returns non-zero if opcode is boostable.
  * RIP relative instructions are adjusted at copying time in 64 bits mode
  */
-static __always_inline int can_boost(kprobe_opcode_t *opcodes)
+static int can_boost(kprobe_opcode_t *opcodes)
 {
kprobe_opcode_t opcode;
kprobe_opcode_t *orig_opcodes = opcodes;
@@ -392,13 +392,13 @@ static void __kprobes set_current_kprobe(struct kprobe 
*p, struct pt_regs *regs,
kcb-kprobe_saved_flags = ~IF_MASK;
 }
 
-static __always_inline void clear_btf(void)
+static void clear_btf(void)
 {
if (test_thread_flag(TIF_DEBUGCTLMSR))
wrmsr(MSR_IA32_DEBUGCTLMSR, 0, 0);
 }
 
-static __always_inline void restore_btf(void)
+static void restore_btf(void)
 {
if (test_thread_flag(TIF_DEBUGCTLMSR))
wrmsr(MSR_IA32_DEBUGCTLMSR, current-thread.debugctlmsr, 0);
@@ -409,7 +409,7 @@ static void __kprobes prepare_singlestep(struct kprobe *p, 
struct pt_regs *regs)
clear_btf();
regs-flags |= TF_MASK;
regs-flags = ~IF_MASK;
-   /*single step inline if the instruction is an int3*/
+   /* single step inline if the instruction is an int3 */
if (p-opcode == BREAKPOINT_INSTRUCTION)
regs-ip = (unsigned long)p-addr;
else
@@ -767,7 +767,7 @@ static void __kprobes resume_execution(struct kprobe *p,
case 0xe8:  /* call relative - Fix return addr */
*tos = orig_ip + (*tos - copy_ip);
break;
-#ifndef CONFIG_X86_64
+#ifdef CONFIG_X86_32
case 0x9a:  /* call absolute -- same as call absolute, indirect */
*tos = orig_ip + (*tos - copy_ip);
goto no_change;
@@ -813,8 +813,6 @@ static void __kprobes resume_execution(struct kprobe *p,
 
 no_change:
restore_btf();
-
-   return;
 }
 
 /*
-- 
1.5.4.rc0.1143.g1a8a



--
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 7/21] [PATCH] unify common parts of processor.h

2007-12-18 Thread Ingo Molnar

* Glauber de Oliveira Costa [EMAIL PROTECTED] wrote:

 This patch moves the pieces of processor_32.h and processor_64 that 
 are equal to processor.h. Only what's exactly the same is moved 
 around, the rest not being touched.

argh, it doesnt even build cleanly:

 In file included from include/linux/elf.h:6,
  from include/linux/module.h:14,
  from include/linux/crypto.h:21,
  from arch/x86/kernel/asm-offsets_32.c:7,
  from arch/x86/kernel/asm-offsets.c:2:
 include/asm/elf.h:286: warning: 'struct mm_struct' declared inside parameter 
list
 include/asm/elf.h:286: warning: its scope is only this definition or 
declaration, which is probably not what you want

due to zapping this bit of include/asm-x86/processor_32.h:

 -/* Forward declaration, a strange C thing */
 -struct task_struct;
 -struct mm_struct;

Ingo
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.24-rc5
# Tue Dec 18 12:27:00 2007
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
CONFIG_ARCH_SUPPORTS_OPROFILE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y
CONFIG_DEFCONFIG_LIST=/lib/modules/$UNAME_RELEASE/.config

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
CONFIG_BSD_PROCESS_ACCT=y
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
CONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
# CONFIG_TASK_XACCT is not set
CONFIG_USER_NS=y
CONFIG_PID_NS=y
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=20
# CONFIG_CGROUPS is not set
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_FAIR_USER_SCHED=y
# CONFIG_FAIR_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=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_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
# CONFIG_MODULE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBD=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
CONFIG_BLK_DEV_BSG=y

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=m
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED=noop

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
# CONFIG_X86_PC is not set
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
CONFIG_X86_GENERICARCH=y
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_X86_CYCLONE_TIMER=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# 

Re: [PATCH 0/9] mmap read-around and readahead

2007-12-18 Thread Fengguang Wu
On Sun, Dec 16, 2007 at 03:35:58PM -0800, Linus Torvalds wrote:
 
 
 On Sun, 16 Dec 2007, Fengguang Wu wrote:
  
  Here are the mmap read-around related patches initiated by Linus.
  They are for linux-2.6.24-rc4-mm1.  The one major new feature -
  auto detection and early readahead for mmap sequential reads - runs
  as expected on my desktop :-)
 
 Just out of interest - did you check to see if it makes any difference to 
 any IO patterns (or even timings)?

No timings for now... but I wrote a debug patch(attached) and watched
it running for about a week.  Here are some interesting numbers:

% grep .so, /var/log/kern.log|grep init0|wc   
   4085   60806  583895

% grep .so, /var/log/kern.log|grep around|wc
  14438  215265 2107308
% grep .so, /var/log/kern.log|grep around|grep '= 32' | wc
   3133   46757  462446

% grep .so, /var/log/kern.log|grep interleaved|wc
997   14866  148921
% grep .so, /var/log/kern.log|grep interleaved|grep '= 0'|wc  
5448089   79661
% grep .so, /var/log/kern.log|grep interleaved|grep '= 32'|wc
1792683   28233

% grep .so, /var/log/kern.log|grep sequential|wc 
   3499   52275  541319
% grep .so, /var/log/kern.log|grep sequential|grep '= 0' | wc
915   13598  131953
% grep .so, /var/log/kern.log|grep sequential|grep '= 32' | wc
   1327   19880  212896

That says, there are
   4085 page faults on start-of-lib-file,
  14438 mmap read-around,   22% full ra size
   3499 mmap async readahead,   38% full ra size, or 51% if removing pure cache 
hits
997 mmap sync readahead,18% full ra size, or 40% if removing pure cache 
hits
That's good numbers: I/O sizes get larger, and possibly less I/O waits :-)

Sure it's rather coarse estimation, but there are some sequential mmap accesses.
E.g.

[11736.998347] readahead-init0(process: sh/23926, file: sda1/w3m, offset=0:-1, 
ra=0+4-3) = 4
[11737.014985] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, 
ra=290+32-0) = 17
[11737.019488] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:0, 
ra=118+32-0) = 32
[11737.024921] readahead-interleaved(process: w3m/23926, file: sda1/w3m, 
offset=0:2, ra=4+6-6) = 6
[11737.025726] readahead-sequential(process: w3m/23926, file: sda1/w3m, 
offset=0:3, ra=10+12-12) = 12
[11737.025794] readahead-around(process: w3m/23926, file: sda1/w3m, offset=0:4, 
ra=90+32-0) = 28
--- sequential begin ---
[11737.037893] readahead-init(process: w3m/23926, file: sda1/w3m, offset=0:149, 
ra=150+64-32) = 64
[11737.043928] readahead-sequential(process: w3m/23926, file: sda1/w3m, 
offset=0:181, ra=214+32-32) = 32
[11737.044086] readahead-sequential(process: w3m/23926, file: sda1/w3m, 
offset=0:213, ra=246+32-32) = 32
[11737.045633] readahead-sequential(process: w3m/23926, file: sda1/w3m, 
offset=0:245, ra=278+32-32) = 12
[11737.047321] readahead-sequential(process: w3m/23926, file: sda1/w3m, 
offset=0:277, ra=310+32-32) = 0
--- sequential end ---
[11737.048296] readahead-around(process: w3m/23926, file: sda1/w3m, 
offset=0:119, ra=48+32-0) = 32
[11737.066908] readahead-around(process: w3m/23926, file: sda1/w3m, 
offset=0:63, ra=73+32-0) = 10
[11737.136880] readahead-around(process: w3m/23926, file: sda1/w3m, 
offset=0:116, ra=30+32-0) = 18
[11737.166005] readahead-around(process: w3m/23926, file: sda1/w3m, 
offset=0:37, ra=6+32-0) = 8


But also there is one minor problem.

[16416.600720] readahead-init0(process: zsh/30490, file: sda1/bc, offset=0:-1, 
ra=0+4-3) = 4
[16416.607967] readahead-around(process: bc/30490, file: sda1/bc, offset=0:0, 
ra=1+32-0) = 14

The 4-page readahead-init0() hurts performance. It occurs before every initial 
mmap reads.
A longer example:

wfg ~% dmesg|grep mplayer
[ 1221.454230] readahead-init0(process: mutt/7131, file: md0/mplayer-devel, 
offset=0:-1, ra=0+4-3) = 4
[ 1378.667305] readahead-init0(process: strace/7352, file: sda1/mplayer, 
offset=0:-1, ra=0+4-3) = 4
[ 1378.692389] readahead-around(process: mplayer/7352, file: sda1/mplayer, 
offset=0:0, ra=2212+32-0) = 17
[ 1378.703656] readahead-around(process: mplayer/7352, file: sda1/mplayer, 
offset=0:0, ra=2061+32-0) = 32
[ 1378.715537] readahead-around(process: mplayer/7352, file: sda1/mplayer, 
offset=0:2077, ra=0+32-0) = 28
[ 1378.716261] readahead-around(process: mplayer/7352, file: sda1/mplayer, 
offset=0:10, ra=44+32-0) = 32
[ 1378.727570] readahead-init0(process: mplayer/7352, file: 
sda1/libdirectfb-0.9.so.25.0.0, offset=0:-1, ra=0+4-3) = 4
[ 1378.740579] readahead-around(process: mplayer/7352, file: 
sda1/libdirectfb-0.9.so.25.0.0, offset=0:0, ra=79+32-0) = 17
[ 1378.744826] readahead-around(process: mplayer/7352, file: 
sda1/libdirectfb-0.9.so.25.0.0, offset=0:1, ra=0+32-0) = 28
[ 1378.749882] readahead-init0(process: mplayer/7352, file: 
sda1/libXv.so.1.0.0, offset=0:-1, ra=0+4-3) = 4
[ 1378.754546] readahead-around(process: mplayer/7352, file: 
sda1/libXv.so.1.0.0, offset=0:0, ra=0+32-0) = 1
[ 1378.758057] readahead-init0(process: mplayer/7352, file: 

Re: [PATCH 2/9] readahead: clean up and simplify the code for filemap page fault readahead

2007-12-18 Thread Fengguang Wu
On Tue, Dec 18, 2007 at 09:19:07AM +0100, Nick Piggin wrote:
 On Sun, Dec 16, 2007 at 07:59:30PM +0800, Fengguang Wu wrote:

  +   read_lock_irq(mapping-tree_lock);
  +   page = radix_tree_lookup(mapping-page_tree, offset);
  +   if (likely(page)) {
  +   int got_lock, uptodate;
  +   page_cache_get(page);
  +
  +   got_lock = !TestSetPageLocked(page);
  +   uptodate = PageUptodate(page);
  +   read_unlock_irq(mapping-tree_lock);
 
 If we could avoid open coding tree_lock here (and expanding its coverage
 to PageUptodate), that would be nice. I don't think it gains us too much.

To use find_get_page()? That would be nice to me, too.

--
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]: Atmel Serial Console interrupt handler splitup

2007-12-18 Thread Remy Bohmer
Hello Haavard,

 I don't think so, but I don't feel all that strongly about it. I'd
 actually prefer if we used at_writel() and at_readl() throughout the
 code and killed those UART_PUT/UART_GET macros.

I completely agree.

Kind Regards,

Remy
--
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] x86: unify module_{32|64}.h

2007-12-18 Thread Harvey Harrison
This adds one case to the MODULE_PROC_FAMILY block testing
for X86_64.  There are no new things defined on X86_64 than
there were before.

Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
---
 include/asm-x86/module.h|   83 +-
 include/asm-x86/module_32.h |   75 --
 include/asm-x86/module_64.h |   10 -
 3 files changed, 81 insertions(+), 87 deletions(-)

diff --git a/include/asm-x86/module.h b/include/asm-x86/module.h
index 2b2f18d..994837c 100644
--- a/include/asm-x86/module.h
+++ b/include/asm-x86/module.h
@@ -1,5 +1,84 @@
+#ifndef _ASM_MODULE_H
+#define _ASM_MODULE_H
+
+/* x86_32/64 are simple */
+struct mod_arch_specific
+{
+};
+
 #ifdef CONFIG_X86_32
-# include module_32.h
+# define Elf_Shdr Elf32_Shdr
+# define Elf_Sym Elf32_Sym
+# define Elf_Ehdr Elf32_Ehdr
 #else
-# include module_64.h
+# define Elf_Shdr Elf64_Shdr
+# define Elf_Sym Elf64_Sym
+# define Elf_Ehdr Elf64_Ehdr
 #endif
+
+#ifdef CONFIG_X86_64
+/* X86_64 does not define MODULE_PROC_FAMILY */
+#elif defined CONFIG_M386
+#define MODULE_PROC_FAMILY 386 
+#elif defined CONFIG_M486
+#define MODULE_PROC_FAMILY 486 
+#elif defined CONFIG_M586
+#define MODULE_PROC_FAMILY 586 
+#elif defined CONFIG_M586TSC
+#define MODULE_PROC_FAMILY 586TSC 
+#elif defined CONFIG_M586MMX
+#define MODULE_PROC_FAMILY 586MMX 
+#elif defined CONFIG_MCORE2
+#define MODULE_PROC_FAMILY CORE2 
+#elif defined CONFIG_M686
+#define MODULE_PROC_FAMILY 686 
+#elif defined CONFIG_MPENTIUMII
+#define MODULE_PROC_FAMILY PENTIUMII 
+#elif defined CONFIG_MPENTIUMIII
+#define MODULE_PROC_FAMILY PENTIUMIII 
+#elif defined CONFIG_MPENTIUMM
+#define MODULE_PROC_FAMILY PENTIUMM 
+#elif defined CONFIG_MPENTIUM4
+#define MODULE_PROC_FAMILY PENTIUM4 
+#elif defined CONFIG_MK6
+#define MODULE_PROC_FAMILY K6 
+#elif defined CONFIG_MK7
+#define MODULE_PROC_FAMILY K7 
+#elif defined CONFIG_MK8
+#define MODULE_PROC_FAMILY K8 
+#elif defined CONFIG_X86_ELAN
+#define MODULE_PROC_FAMILY ELAN 
+#elif defined CONFIG_MCRUSOE
+#define MODULE_PROC_FAMILY CRUSOE 
+#elif defined CONFIG_MEFFICEON
+#define MODULE_PROC_FAMILY EFFICEON 
+#elif defined CONFIG_MWINCHIPC6
+#define MODULE_PROC_FAMILY WINCHIPC6 
+#elif defined CONFIG_MWINCHIP2
+#define MODULE_PROC_FAMILY WINCHIP2 
+#elif defined CONFIG_MWINCHIP3D
+#define MODULE_PROC_FAMILY WINCHIP3D 
+#elif defined CONFIG_MCYRIXIII
+#define MODULE_PROC_FAMILY CYRIXIII 
+#elif defined CONFIG_MVIAC3_2
+#define MODULE_PROC_FAMILY VIAC3-2 
+#elif defined CONFIG_MVIAC7
+#define MODULE_PROC_FAMILY VIAC7 
+#elif defined CONFIG_MGEODEGX1
+#define MODULE_PROC_FAMILY GEODEGX1 
+#elif defined CONFIG_MGEODE_LX
+#define MODULE_PROC_FAMILY GEODE 
+#else
+#error unknown processor family
+#endif
+
+#ifdef CONFIG_X86_32
+# ifdef CONFIG_4KSTACKS
+#  define MODULE_STACKSIZE 4KSTACKS 
+# else
+#  define MODULE_STACKSIZE 
+# endif
+# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE
+#endif
+
+#endif /* _ASM_MODULE_H */
diff --git a/include/asm-x86/module_32.h b/include/asm-x86/module_32.h
deleted file mode 100644
index 7e5fda6..000
--- a/include/asm-x86/module_32.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _ASM_I386_MODULE_H
-#define _ASM_I386_MODULE_H
-
-/* x86 is simple */
-struct mod_arch_specific
-{
-};
-
-#define Elf_Shdr Elf32_Shdr
-#define Elf_Sym Elf32_Sym
-#define Elf_Ehdr Elf32_Ehdr
-
-#ifdef CONFIG_M386
-#define MODULE_PROC_FAMILY 386 
-#elif defined CONFIG_M486
-#define MODULE_PROC_FAMILY 486 
-#elif defined CONFIG_M586
-#define MODULE_PROC_FAMILY 586 
-#elif defined CONFIG_M586TSC
-#define MODULE_PROC_FAMILY 586TSC 
-#elif defined CONFIG_M586MMX
-#define MODULE_PROC_FAMILY 586MMX 
-#elif defined CONFIG_MCORE2
-#define MODULE_PROC_FAMILY CORE2 
-#elif defined CONFIG_M686
-#define MODULE_PROC_FAMILY 686 
-#elif defined CONFIG_MPENTIUMII
-#define MODULE_PROC_FAMILY PENTIUMII 
-#elif defined CONFIG_MPENTIUMIII
-#define MODULE_PROC_FAMILY PENTIUMIII 
-#elif defined CONFIG_MPENTIUMM
-#define MODULE_PROC_FAMILY PENTIUMM 
-#elif defined CONFIG_MPENTIUM4
-#define MODULE_PROC_FAMILY PENTIUM4 
-#elif defined CONFIG_MK6
-#define MODULE_PROC_FAMILY K6 
-#elif defined CONFIG_MK7
-#define MODULE_PROC_FAMILY K7 
-#elif defined CONFIG_MK8
-#define MODULE_PROC_FAMILY K8 
-#elif defined CONFIG_X86_ELAN
-#define MODULE_PROC_FAMILY ELAN 
-#elif defined CONFIG_MCRUSOE
-#define MODULE_PROC_FAMILY CRUSOE 
-#elif defined CONFIG_MEFFICEON
-#define MODULE_PROC_FAMILY EFFICEON 
-#elif defined CONFIG_MWINCHIPC6
-#define MODULE_PROC_FAMILY WINCHIPC6 
-#elif defined CONFIG_MWINCHIP2
-#define MODULE_PROC_FAMILY WINCHIP2 
-#elif defined CONFIG_MWINCHIP3D
-#define MODULE_PROC_FAMILY WINCHIP3D 
-#elif defined CONFIG_MCYRIXIII
-#define MODULE_PROC_FAMILY CYRIXIII 
-#elif defined CONFIG_MVIAC3_2
-#define MODULE_PROC_FAMILY VIAC3-2 
-#elif defined CONFIG_MVIAC7
-#define MODULE_PROC_FAMILY VIAC7 
-#elif defined CONFIG_MGEODEGX1
-#define MODULE_PROC_FAMILY GEODEGX1 
-#elif defined CONFIG_MGEODE_LX
-#define 

Re: [PATCH 3/21] [PATCH] move desc_empty to where they belong

2007-12-18 Thread Glauber de Oliveira Costa

Rusty Russell wrote:

On Tuesday 18 December 2007 09:52:26 Glauber de Oliveira Costa wrote:

+static inline int desc_empty(const void *ptr)
+{
+   const u32 *desc = ptr;
+   return !(desc[0] | desc[1]);
+}


Erk. This really needs to be a union, not a void *.  I guess we can clean it 
later.


Rusty.

My last series, that unified desc_struct, made it possible to do that.
However, the intent of this, is just move it to a common place.
--
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] Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0

2007-12-18 Thread Thomas Bogendoerfer
When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel
crashes in memmap_init_zone(). This bug got introduced by
commit c713216deebd95d2b0ab38fef8bb2361c0180c2d

Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED]
---

 mm/page_alloc.c |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b5a58d4..496f7f3 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3427,7 +3427,7 @@ static void __init_refok alloc_node_mem_map(struct 
pglist_data *pgdat)
mem_map = NODE_DATA(0)-node_mem_map;
 #ifdef CONFIG_ARCH_POPULATES_NODE_MAP
if (page_to_pfn(mem_map) != pgdat-node_start_pfn)
-   mem_map -= pgdat-node_start_pfn;
+   mem_map -= (pgdat-node_start_pfn - ARCH_PFN_OFFSET);
 #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
}
 #endif
--
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 7/21] [PATCH] unify common parts of processor.h

2007-12-18 Thread Glauber de Oliveira Costa

Ingo Molnar wrote:

* Glauber de Oliveira Costa [EMAIL PROTECTED] wrote:

This patch moves the pieces of processor_32.h and processor_64 that 
are equal to processor.h. Only what's exactly the same is moved 
around, the rest not being touched.


argh, it doesnt even build cleanly:

 In file included from include/linux/elf.h:6,
  from include/linux/module.h:14,
  from include/linux/crypto.h:21,
  from arch/x86/kernel/asm-offsets_32.c:7,
  from arch/x86/kernel/asm-offsets.c:2:
 include/asm/elf.h:286: warning: 'struct mm_struct' declared inside parameter 
list
 include/asm/elf.h:286: warning: its scope is only this definition or 
declaration, which is probably not what you want

due to zapping this bit of include/asm-x86/processor_32.h:

 -/* Forward declaration, a strange C thing */
 -struct task_struct;
 -struct mm_struct;

Ingo


I'll test it with your config, and repost.
--
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 v2] x86: unify module_{32|64}.h

2007-12-18 Thread Harvey Harrison
From 5be3fc6a0e28d82a05487a8fb1a86532fb0ad4e8 Mon Sep 17 00:00:00 2001
From: Harvey Harrison [EMAIL PROTECTED]
Date: Tue, 18 Dec 2007 03:58:10 -0800
Subject: [PATCH] x86: unify module_{32|64}.h

This adds one case to the MODULE_PROC_FAMILY block testing
for X86_64.  There are no new things defined on X86_64 than
there were before.

Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
---
Ingo, let a single checkpatch warning go by in the first one,
fixed in this version.

 include/asm-x86/module.h|   81 +-
 include/asm-x86/module_32.h |   75 ---
 include/asm-x86/module_64.h |   10 -
 3 files changed, 79 insertions(+), 87 deletions(-)

diff --git a/include/asm-x86/module.h b/include/asm-x86/module.h
index 2b2f18d..bfedb24 100644
--- a/include/asm-x86/module.h
+++ b/include/asm-x86/module.h
@@ -1,5 +1,82 @@
+#ifndef _ASM_MODULE_H
+#define _ASM_MODULE_H
+
+/* x86_32/64 are simple */
+struct mod_arch_specific {};
+
 #ifdef CONFIG_X86_32
-# include module_32.h
+# define Elf_Shdr Elf32_Shdr
+# define Elf_Sym Elf32_Sym
+# define Elf_Ehdr Elf32_Ehdr
 #else
-# include module_64.h
+# define Elf_Shdr Elf64_Shdr
+# define Elf_Sym Elf64_Sym
+# define Elf_Ehdr Elf64_Ehdr
 #endif
+
+#ifdef CONFIG_X86_64
+/* X86_64 does not define MODULE_PROC_FAMILY */
+#elif defined CONFIG_M386
+#define MODULE_PROC_FAMILY 386 
+#elif defined CONFIG_M486
+#define MODULE_PROC_FAMILY 486 
+#elif defined CONFIG_M586
+#define MODULE_PROC_FAMILY 586 
+#elif defined CONFIG_M586TSC
+#define MODULE_PROC_FAMILY 586TSC 
+#elif defined CONFIG_M586MMX
+#define MODULE_PROC_FAMILY 586MMX 
+#elif defined CONFIG_MCORE2
+#define MODULE_PROC_FAMILY CORE2 
+#elif defined CONFIG_M686
+#define MODULE_PROC_FAMILY 686 
+#elif defined CONFIG_MPENTIUMII
+#define MODULE_PROC_FAMILY PENTIUMII 
+#elif defined CONFIG_MPENTIUMIII
+#define MODULE_PROC_FAMILY PENTIUMIII 
+#elif defined CONFIG_MPENTIUMM
+#define MODULE_PROC_FAMILY PENTIUMM 
+#elif defined CONFIG_MPENTIUM4
+#define MODULE_PROC_FAMILY PENTIUM4 
+#elif defined CONFIG_MK6
+#define MODULE_PROC_FAMILY K6 
+#elif defined CONFIG_MK7
+#define MODULE_PROC_FAMILY K7 
+#elif defined CONFIG_MK8
+#define MODULE_PROC_FAMILY K8 
+#elif defined CONFIG_X86_ELAN
+#define MODULE_PROC_FAMILY ELAN 
+#elif defined CONFIG_MCRUSOE
+#define MODULE_PROC_FAMILY CRUSOE 
+#elif defined CONFIG_MEFFICEON
+#define MODULE_PROC_FAMILY EFFICEON 
+#elif defined CONFIG_MWINCHIPC6
+#define MODULE_PROC_FAMILY WINCHIPC6 
+#elif defined CONFIG_MWINCHIP2
+#define MODULE_PROC_FAMILY WINCHIP2 
+#elif defined CONFIG_MWINCHIP3D
+#define MODULE_PROC_FAMILY WINCHIP3D 
+#elif defined CONFIG_MCYRIXIII
+#define MODULE_PROC_FAMILY CYRIXIII 
+#elif defined CONFIG_MVIAC3_2
+#define MODULE_PROC_FAMILY VIAC3-2 
+#elif defined CONFIG_MVIAC7
+#define MODULE_PROC_FAMILY VIAC7 
+#elif defined CONFIG_MGEODEGX1
+#define MODULE_PROC_FAMILY GEODEGX1 
+#elif defined CONFIG_MGEODE_LX
+#define MODULE_PROC_FAMILY GEODE 
+#else
+#error unknown processor family
+#endif
+
+#ifdef CONFIG_X86_32
+# ifdef CONFIG_4KSTACKS
+#  define MODULE_STACKSIZE 4KSTACKS 
+# else
+#  define MODULE_STACKSIZE 
+# endif
+# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY MODULE_STACKSIZE
+#endif
+
+#endif /* _ASM_MODULE_H */
diff --git a/include/asm-x86/module_32.h b/include/asm-x86/module_32.h
deleted file mode 100644
index 7e5fda6..000
--- a/include/asm-x86/module_32.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _ASM_I386_MODULE_H
-#define _ASM_I386_MODULE_H
-
-/* x86 is simple */
-struct mod_arch_specific
-{
-};
-
-#define Elf_Shdr Elf32_Shdr
-#define Elf_Sym Elf32_Sym
-#define Elf_Ehdr Elf32_Ehdr
-
-#ifdef CONFIG_M386
-#define MODULE_PROC_FAMILY 386 
-#elif defined CONFIG_M486
-#define MODULE_PROC_FAMILY 486 
-#elif defined CONFIG_M586
-#define MODULE_PROC_FAMILY 586 
-#elif defined CONFIG_M586TSC
-#define MODULE_PROC_FAMILY 586TSC 
-#elif defined CONFIG_M586MMX
-#define MODULE_PROC_FAMILY 586MMX 
-#elif defined CONFIG_MCORE2
-#define MODULE_PROC_FAMILY CORE2 
-#elif defined CONFIG_M686
-#define MODULE_PROC_FAMILY 686 
-#elif defined CONFIG_MPENTIUMII
-#define MODULE_PROC_FAMILY PENTIUMII 
-#elif defined CONFIG_MPENTIUMIII
-#define MODULE_PROC_FAMILY PENTIUMIII 
-#elif defined CONFIG_MPENTIUMM
-#define MODULE_PROC_FAMILY PENTIUMM 
-#elif defined CONFIG_MPENTIUM4
-#define MODULE_PROC_FAMILY PENTIUM4 
-#elif defined CONFIG_MK6
-#define MODULE_PROC_FAMILY K6 
-#elif defined CONFIG_MK7
-#define MODULE_PROC_FAMILY K7 
-#elif defined CONFIG_MK8
-#define MODULE_PROC_FAMILY K8 
-#elif defined CONFIG_X86_ELAN
-#define MODULE_PROC_FAMILY ELAN 
-#elif defined CONFIG_MCRUSOE
-#define MODULE_PROC_FAMILY CRUSOE 
-#elif defined CONFIG_MEFFICEON
-#define MODULE_PROC_FAMILY EFFICEON 
-#elif defined CONFIG_MWINCHIPC6
-#define MODULE_PROC_FAMILY WINCHIPC6 
-#elif defined CONFIG_MWINCHIP2
-#define MODULE_PROC_FAMILY WINCHIP2 
-#elif defined CONFIG_MWINCHIP3D
-#define MODULE_PROC_FAMILY WINCHIP3D 
-#elif defined CONFIG_MCYRIXIII

RE: [PATCH] sata_nv: fix ADMA ATAPI issues with memory over 4GB (v3)

2007-12-18 Thread Shyam_Iyer
ata1.00: XXX DMA address 202275000 is above 32bit

Tejun-I find the allocation always above 32bit with the following tests
-

1) kernel-2.6.24-rc5 + the 32 bit limiting patch that you provided in a
previous posting.
2) vanilla-2.6.24-rc5.

But I don't find the DMA allocation above 32bit in the kernel logs when
I apply my patch on the vanilla-2.6.24-rc5 kernel.

-Shyam
--
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 0/9] mmap read-around and readahead

2007-12-18 Thread Fengguang Wu
On Tue, Dec 18, 2007 at 07:46:09PM +0800, Fengguang Wu wrote:
 No timings for now... but I wrote a debug patch(attached) and watched
 it running for about a week.  Here are some interesting numbers:

Here are the (forgotten) readahead-debug.patch:

---
 include/linux/fs.h |   43 ++
 mm/Kconfig |   19 +++
 mm/filemap.c   |1 
 mm/readahead.c |   54 ++-
 4 files changed, 116 insertions(+), 1 deletion(-)

--- linux-2.6.24-rc4-mm1.orig/include/linux/fs.h
+++ linux-2.6.24-rc4-mm1/include/linux/fs.h
@@ -760,11 +760,54 @@ struct file_ra_state {
unsigned int async_size;/* do asynchronous readahead when
   there are only # of pages ahead */
 
+   unsigned int flags;
unsigned int ra_pages;  /* Maximum readahead window */
int mmap_miss;  /* Cache miss stat for mmap accesses */
loff_t prev_pos;/* Cache last read() position */
 };
 
+#define RA_CLASS_SHIFT 4
+#define RA_CLASS_MASK  ((1  RA_CLASS_SHIFT) - 1)
+/*
+ * Detailed classification of read-ahead behaviors.
+ */
+enum ra_class {
+   RA_CLASS_INIT0,
+   RA_CLASS_INIT,
+   RA_CLASS_SEQUENTIAL,
+   RA_CLASS_INTERLEAVED,
+   RA_CLASS_CONTEXT,
+   RA_CLASS_AROUND,
+   RA_CLASS_COUNT
+};
+
+static inline enum ra_class ra_class_new(struct file_ra_state *ra)
+{
+   return ra-flags  RA_CLASS_MASK;
+}
+
+static inline enum ra_class ra_class_old(struct file_ra_state *ra)
+{
+   return (ra-flags  RA_CLASS_SHIFT)  RA_CLASS_MASK;
+}
+
+/*
+ * Which method is issuing this read-ahead?
+ */
+static inline void ra_set_class(struct file_ra_state *ra, enum ra_class 
ra_class)
+{
+   unsigned long flags_mask;
+   unsigned long flags;
+   unsigned long old_ra_class;
+
+   flags_mask = ~(RA_CLASS_MASK | (RA_CLASS_MASK  RA_CLASS_SHIFT));
+   flags = ra-flags  flags_mask;
+
+   old_ra_class = ra_class_new(ra)  RA_CLASS_SHIFT;
+
+   ra-flags = flags | old_ra_class | ra_class;
+}
+
 /*
  * Check if @index falls in the readahead windows.
  */
--- linux-2.6.24-rc4-mm1.orig/mm/Kconfig
+++ linux-2.6.24-rc4-mm1/mm/Kconfig
@@ -194,3 +194,22 @@ config NR_QUICK
 config VIRT_TO_BUS
def_bool y
depends on !ARCH_NO_VIRT_TO_BUS
+
+config DEBUG_READAHEAD
+   bool Readahead debug and accounting
+   default y
+   select DEBUG_FS
+   help
+ This option injects extra code to dump detailed debug traces and do
+ readahead events accounting.
+
+ To actually get the data:
+
+ mkdir /debug
+ mount -t debug none /debug
+
+ After that you can do the following:
+
+ echo  /debug/readahead/events # reset the counters
+ cat /debug/readahead/events# check the counters
+
--- linux-2.6.24-rc4-mm1.orig/mm/readahead.c
+++ linux-2.6.24-rc4-mm1/mm/readahead.c
@@ -16,6 +16,29 @@
 #include linux/task_io_accounting_ops.h
 #include linux/pagevec.h
 #include linux/pagemap.h
+#include linux/debugfs.h
+
+static const char * const ra_class_name[] = {
+   [RA_CLASS_INIT0]= init0,
+   [RA_CLASS_INIT] = init,
+   [RA_CLASS_SEQUENTIAL]   = sequential,
+   [RA_CLASS_INTERLEAVED]  = interleaved,
+   [RA_CLASS_CONTEXT]  = context,
+   [RA_CLASS_AROUND]   = around,
+};
+
+#ifdef CONFIG_DEBUG_READAHEAD
+static u32 readahead_debug_level = 1;
+#  define debug_option(o)  (o)
+#else
+#  define debug_option(o)  (0)
+#  define readahead_debug_level(0)
+#endif /* CONFIG_DEBUG_READAHEAD */
+
+#define dprintk(args...) \
+   do { if (readahead_debug_level = 2) printk(KERN_DEBUG args); } while(0)
+#define ddprintk(args...) \
+   do { if (readahead_debug_level = 3) printk(KERN_DEBUG args); } while(0)
 
 void default_unplug_io_fn(struct backing_dev_info *bdi, struct page *page)
 {
@@ -220,6 +243,13 @@ unsigned long max_sane_readahead(unsigne
 
 static int __init readahead_init(void)
 {
+#ifdef CONFIG_DEBUG_READAHEAD
+   struct dentry *root;
+
+   root = debugfs_create_dir(readahead, NULL);
+
+   debugfs_create_u32(debug_level, 0644, root, readahead_debug_level);
+#endif
return bdi_init(default_backing_dev_info);
 }
 subsys_initcall(readahead_init);
@@ -235,6 +265,15 @@ unsigned long ra_submit(struct file_ra_s
actual = __do_page_cache_readahead(mapping, filp,
ra-start, ra-size, ra-async_size);
 
+   dprintk(readahead-%s(process: %s/%d, file: %s/%s, 
+   offset=%ld:%ld, ra=%ld+%d-%d) = %d\n,
+   ra_class_name[ra_class_new(ra)],
+   current-comm, current-pid,
+   mapping-host-i_sb-s_id,
+   filp-f_path.dentry-d_iname,
+   (long)(filp-f_pos  PAGE_CACHE_SHIFT),
+   

Re: [PATCH] sound/: Spelling fixes

2007-12-18 Thread Takashi Iwai
At Mon, 17 Dec 2007 11:40:38 -0800,
Joe Perches wrote:
 
 
 Signed-off-by: Joe Perches [EMAIL PROTECTED]
 ---
  sound/drivers/serial-u16550.c|6 ++--
  sound/isa/es18xx.c   |2 +-
  sound/pci/au88x0/au88x0_core.c   |2 +-
  sound/pci/cs46xx/cs46xx_lib.c|2 +-
  sound/pci/hda/hda_codec.h|2 +-
  sound/pci/rme9652/hdsp.c |2 +-
  sound/pci/rme9652/hdspm.c|4 +-
  sound/pci/rme9652/rme9652.c  |4 +-
  sound/pci/trident/trident_main.c |   44 
 +++---
  9 files changed, 34 insertions(+), 34 deletions(-)

Applied to ALSA tree now.  Thanks.


Takashi
--
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] include/sound/: Spelling fixes

2007-12-18 Thread Takashi Iwai
At Mon, 17 Dec 2007 11:40:39 -0800,
Joe Perches wrote:
 
 
 Signed-off-by: Joe Perches [EMAIL PROTECTED]
 ---
  include/sound/ad1848.h  |2 +-
  include/sound/cs4231-regs.h |2 +-
  include/sound/soc-dapm.h|2 +-
  3 files changed, 3 insertions(+), 3 deletions(-)

Applied to ALSA tree.  Thanks.


Takashi
--
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: Important regression with XFS update for 2.6.24-rc6

2007-12-18 Thread David Chinner
On Tue, Dec 18, 2007 at 12:28:04PM +0100, Damien Wyart wrote:
 Hello,
 
 As a follow-up to http://marc.info/?l=linux-kernelm=119796120524618w=2
 (LKML seems down right now so I am not linking to it), I have detected an
 important problem with these two patches: after applying them by hand
 (downloaded them raw from SGI's gitweb) on top of 2.6.24-rc5-git5 (they have
 not yet been pulled into mainline by Linux as of this morning) for testing
 purposes, I noticed upon reboot that ls -l on directories with many files
 and subdirectories (around 5000 entries) takes several hundreds of MB in RAM
 and then dies with memory exhausted error.

Ok. I haven't noticed anything wrong with directories up to about 250,000
files in the last few days. The ls -l I just did on a directory with
15000 entries (btree format) used about 5MB of RAM. extent format
directories appear to work fine as well (tested 500 entries).

Can you:

a) isolate the problem to one patch or the other. My guess
   would be the directory mod, but.
b) show your working ;)
- what platform (i386, x86_64, etc)
- what debug options
- commands and output that shows the problem
- strace of ls -l going bad
- xfs_info from filesystem in question

 I also noticed that ldconfig takes a lot of time to complete, and firefox
 seems also to eat much more memory than usual. Reverting the two patches
 (going back to vanilla rc5-git5) makes these problems go away.  I am not
 able to test right now if only one of the patches is bogus or if both of
 them are concerned.

Well, there goes a).

 As the symptoms are easy to reproduce, I guess this is some kind of brown
 paper bag bug and will be easy for XFS experts to spot.

Well, not reproducable on my test boxes. It may well be a brown paper
bag job, but it's not obvious.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
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] Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0

2007-12-18 Thread Andrew Morton
On Tue, 18 Dec 2007 13:03:00 +0100 (CET) Thomas Bogendoerfer [EMAIL 
PROTECTED] wrote:

 When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel
 crashes in memmap_init_zone(). This bug got introduced by
 commit c713216deebd95d2b0ab38fef8bb2361c0180c2d
 
 Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED]
 ---
 
  mm/page_alloc.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/mm/page_alloc.c b/mm/page_alloc.c
 index b5a58d4..496f7f3 100644
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
 @@ -3427,7 +3427,7 @@ static void __init_refok alloc_node_mem_map(struct 
 pglist_data *pgdat)
   mem_map = NODE_DATA(0)-node_mem_map;
  #ifdef CONFIG_ARCH_POPULATES_NODE_MAP
   if (page_to_pfn(mem_map) != pgdat-node_start_pfn)
 - mem_map -= pgdat-node_start_pfn;
 + mem_map -= (pgdat-node_start_pfn - ARCH_PFN_OFFSET);
  #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
   }
  #endif

hm.  It's rather non-trivial to verify that this will compile OK on all
architectures.

--
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] Avoid overflows in kernel/time.c (version 3)

2007-12-18 Thread Jan Engelhardt

On Dec 17 2007 15:33, H. Peter Anvin wrote:
 Could this live in scripts/ too? (And use CodingStyle?)

 Why should it live in scripts/ rather than where it is used?  scripts/ is used
 either for global scripts or scripts which are used manually. Other scripts 
 are
 not centralized there.

 CodingStyle is applicable to C code, not to scripts as far as I can tell.

Checkpatch adheres to it. And indent, which is applicable to almost all
languages, is a strong point in CodingStyle.
--
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] Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0

2007-12-18 Thread Thomas Bogendoerfer
On Tue, Dec 18, 2007 at 04:24:04AM -0800, Andrew Morton wrote:
 On Tue, 18 Dec 2007 13:03:00 +0100 (CET) Thomas Bogendoerfer [EMAIL 
 PROTECTED] wrote:
  --- a/mm/page_alloc.c
  +++ b/mm/page_alloc.c
  @@ -3427,7 +3427,7 @@ static void __init_refok alloc_node_mem_map(struct 
  pglist_data *pgdat)
  mem_map = NODE_DATA(0)-node_mem_map;
   #ifdef CONFIG_ARCH_POPULATES_NODE_MAP
  if (page_to_pfn(mem_map) != pgdat-node_start_pfn)
  -   mem_map -= pgdat-node_start_pfn;
  +   mem_map -= (pgdat-node_start_pfn - ARCH_PFN_OFFSET);
   #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
  }
   #endif
 
 hm.  It's rather non-trivial to verify that this will compile OK on all
 architectures.

I grepped through include/asm-* and found:

#if defined(CONFIG_FLATMEM)

#ifndef ARCH_PFN_OFFSET
#define ARCH_PFN_OFFSET (0UL)
#endif

in include/asm-generic/memory_model.h. So I'm still confident, that
this works on all architectures. It's tested on MIPS.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea.[ RFC1925, 2.3 ]
--
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: About mounting the sysfs

2007-12-18 Thread Jan Engelhardt

On Dec 18 2007 15:10, wit wrote:

1. What is the d_alloc_root used for? Actually, the question should
be: why we have to call d_alloc_root.

I think the root already has its dentry,

It does not.

why we have to allocate another while we mounting a file
system?

2. Why we call d_alloc_root to allocate a dentry for the mount point
while the usual mount point of sysfs is defined by the user (something
like /sysfs but not /).

/sys is a dentry that belongs to the / vfsmount, but we need a
/ that belongs to the whatever you are going to mount vfsmount.

 See below:
   root = d_alloc_root(inode);
   if (!root) {
   pr_debug(%s: could not get root dentry!\n,__FUNCTION__);
   iput(inode);
   return -ENOMEM;
   }
   root-d_fsdata = sysfs_root;
   sb-s_root = root;

does this means settting the sysfs' mount point to / but not /sysfs.
--
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 13/21] [PATCH] change bitwise operations to get a void parameter.

2007-12-18 Thread Glauber de Oliveira Costa
On Dec 18, 2007 3:18 AM, Rusty Russell [EMAIL PROTECTED] wrote:
 On Tuesday 18 December 2007 09:52:36 Glauber de Oliveira Costa wrote:
  This patch changes the bitwise operations in bitops.h to get
  a void pointers as a parameter. Before this patch, a lot of warnings
  can be seen. They're gone after it.

 No, this is a backwards step!  These warnings are important for
 non-arch-specific code: I fought hard to get them made into unsigned longs.

 But I'm happy for this to be applied as is, then I'll grab the git tree,
 revert it and fix the warnings...

Even before my processor.h patches, there are a lot of warnings caused by this.
If Ingo does not mind getting more warnings, I can drop this patch
entirely, and you (or someone else)
can fix them later on.


-- 
Glauber de Oliveira Costa.
Free as in Freedom
http://glommer.net

The less confident you are, the more serious you have to act.
--
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] sched: dynamically update the root-domain span/online maps

2007-12-18 Thread Ingo Molnar

* Andrew Morton [EMAIL PROTECTED] wrote:

  i'm reluctant to apply it without test results, unless we have a 
  very clear picture of what happened on Andrew's box and how this 
  updated patch resolves that problem. (or once Andrew tests your 
  patch and deems it OK.)
 
 wades through a pile of new compile errors

hm, due to any of these patches?

 tests it
 
 Seems OK now - resume-from-RAM actually resumes.

cool, thanks! I've added it to sched-devel.git and have updated it.

Ingo
--
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] arch/x86/: Spelling fixes

2007-12-18 Thread Ingo Molnar

* Joe Perches [EMAIL PROTECTED] wrote:

 
 Signed-off-by: Joe Perches [EMAIL PROTECTED]
 ---
  arch/x86/kernel/apic_32.c|2 +-
  arch/x86/kernel/mpparse_32.c |2 +-
  arch/x86/kernel/vm86_32.c|2 +-
  arch/x86/mm/srat_64.c|2 +-

thanks, applied.

Ingo
--
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: ATA bus error with external hd on esata

2007-12-18 Thread Zsolt Barat
Greg Freemyer schrieb:
 On Dec 17, 2007 5:53 AM, Andrew Morton [EMAIL PROTECTED] wrote:
   
 On Sat, 15 Dec 2007 21:10:47 +0100 Zsolt Barat [EMAIL PROTECTED] wrote:

 
 Zsolt Barat schrieb:
   
 hi list,
 
 Let's cc the IDE development list.

 
 i just bought a MyBook called external HD with a fixed enclosure, from
 WD. Connected to the SATA port i constantly get ATA bus error messages
 in the kernel log. Is this a known issue?

 

 As an FYI: I've had a lot of problems with the big prepackaged drives
 in the last 6 months even from Windows, so I would not be too quick to
 blame Linux.

 ie.
 I bought several 500GB / 1000GB Buffalo Drives last month with plans
 to use them from Windows via USB.

 I attempted to do a lot of heavy file copying to/from them.  I was
 getting a bunch of Delayed Write Failures,

 I finally gave up.

 The 500GB drives had a single hard drive internally, so I opened the
 case, removed the drive and connected them via standalone external
 carriers I had around.  In that mode the drives worked fine (from
 Windows).  I've used both standalone eSata external carriers and
 standalone USB external carriers with these same physical drives with
 no issues.

 My conclusion is that the electronics in the prepackaged external
 units is just not up to the job if your doing heavy i/o.

   
thanks for your answer. the error messages are vanished for now. i
switched on/of the power supply for the hd-box sometimes and then it
suddenly worked normaly. it even negotiates  with  3 Gbps and UDMA/133.

Dec 18 13:05:50 proto1 ata2: SATA link up 3.0 Gbps (SStatus 123 SControl
300)
Dec 18 13:05:50 proto1 ata2.00: ATA-6: WD  My Book ES, 012, max
UDMA/133

maybe it is the cable, i have to investigate it. it also claimes to have
an automatic power on/off function, whatever this should mean.

best regards

zsolt


--
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: ATA bus error with external hd on esata

2007-12-18 Thread Zsolt Barat
Jean-Louis Dupond schrieb:
 Greg Freemyer schreef:
  On Dec 17, 2007 5:53 AM, Andrew Morton [EMAIL PROTECTED] wrote:

  On Sat, 15 Dec 2007 21:10:47 +0100 Zsolt Barat [EMAIL PROTECTED] wrote:
 
  
  Zsolt Barat schrieb:

  hi list,
  
  Let's cc the IDE development list.
 
  
  i just bought a MyBook called external HD with a fixed enclosure, from
  WD. Connected to the SATA port i constantly get ATA bus error messages
  in the kernel log. Is this a known issue?
 
  
 
  As an FYI: I've had a lot of problems with the big prepackaged drives
  in the last 6 months even from Windows, so I would not be too quick to
  blame Linux.
 
  ie.
  I bought several 500GB / 1000GB Buffalo Drives last month with plans
  to use them from Windows via USB.
 
  I attempted to do a lot of heavy file copying to/from them.  I was
  getting a bunch of Delayed Write Failures,
 
  I finally gave up.
 
  The 500GB drives had a single hard drive internally, so I opened the
  case, removed the drive and connected them via standalone external
  carriers I had around.  In that mode the drives worked fine (from
  Windows).  I've used both standalone eSata external carriers and
  standalone USB external carriers with these same physical drives with
  no issues.
 
  My conclusion is that the electronics in the prepackaged external
  units is just not up to the job if your doing heavy i/o.
 
  Greg

 Could u check the temps of the disk ? I had that error in windows also with 
 to 
 hot disks ! If temp is 50°C I would start to worry :)
   
hi,
thanks for your answer. i can't check the temps via software tools, but
i doubt it's the temperature, since it seems to have a fan inbuilt into
the case.

best regards

zsolt


--
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 v2] atmel_serial: Clean up the code

2007-12-18 Thread Haavard Skinnemoen
On Tue, 18 Dec 2007 21:22:01 +0800
steve birtles [EMAIL PROTECTED] wrote:

 Is there any change can we clean this up?
   /*
* We wrap our port structure around the generic uart_port.
 @@ -142,8 +146,8 @@ static void atmel_set_mctrl(struct uart_port  
 *port, u_int mctrl)
   #ifdef CONFIG_ARCH_AT91RM9200
   if (cpu_is_at91rm9200()) {
   /*
 -  * AT91RM9200 Errata #39: RTS0 is not internally connected to 
 PA21.
 -  *  We need to drive the pin manually.
 +  * AT91RM9200 Errata #39: RTS0 is not internally connected
 +  * to PA21. We need to drive the pin manually.
*/
   if (port-mapbase == AT91RM9200_BASE_US0) {
   if (mctrl  TIOCM_RTS)
 @@ -228,7 +232,8 @@ static void atmel_stop_rx(struct uart_port *port)
*/

I'm not sure what you mean. It just breaks the comment to fit within 80
columns...

 and potentially add those flags for  dealing with the  CTS  RTS   ,  
 that may not be used on every board,  because this clean up sit's in  
 my minor changes for the YL9200, specifically to  re-jig the USARTS  
 lines so that we can separate  RXD TXD , from a forced requirment to  
 use  control lines when using  232

Could you just post your changes so that we can see where it fits in?

Haavard
--
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 21/21] [PATCH] finish processor.h integration

2007-12-18 Thread Ingo Molnar

* Ingo Molnar [EMAIL PROTECTED] wrote:

  What's left in processor_32.h and processor_64.h cannot be cleanly 
  integrated. However, it's just a couple of definitions. They are 
  moved to processor.h around ifdefs, and the original files are 
  deleted. Note that there's much less headers included in the final 
  version.
 
 and this patch breaks the build on the attached config, with:
 
CC  arch/x86/mm/boot_ioremap_32.o
  In file included from include/asm/fixmap_32.h:28,
   from include/asm/fixmap.h:2,
   from include/asm/pgtable_32.h:16,
   from include/asm/pgtable.h:2,
   from arch/x86/mm/boot_ioremap_32.c:21:
  include/asm/acpi.h:159: error: expected '=', ',', ';', 'asm' or 
 '__attribute__' before 'acpi_fake_nodes'
  make[1]: *** [arch/x86/mm/boot_ioremap_32.o] Error 1
  make: *** [arch/x86/mm/boot_ioremap_32.o] Error 2

really, please do _much_ more careful unification. We unified two full 
architectures in .24-rc1 and there was _not a single regression_ due to 
that unification. Not a single build failure, not a single boot or 
runtime failure.

here the problem is apparently caused by your patch, a careless 
'unification' of include file sections. 32-bit had this:

-#include asm/vm86.h
-#include asm/math_emu.h
-#include asm/segment.h
-#include asm/page.h
-#include asm/types.h
-#include asm/sigcontext.h
-#include asm/cpufeature.h
-#include asm/msr.h
-#include asm/system.h
-#include linux/threads.h
-#include linux/init.h
-#include asm/desc_defs.h

64-bit had this:

-#include asm/segment.h
-#include asm/page.h
-#include asm/types.h
-#include asm/sigcontext.h
-#include asm/cpufeature.h
-#include linux/threads.h
-#include asm/msr.h
-#include asm/current.h
-#include asm/system.h
-#include linux/personality.h
-#include asm/desc_defs.h

and the 'unified' processor.h has:

+#include asm/desc_defs.h
+#include asm/msr.h
 #include asm/page.h
 #include asm/percpu.h
 #include asm/system.h
 #include asm/percpu.h
 #include linux/cpumask.h
 #include linux/cache.h
+#include linux/personality.h

Those are visible, _crutial_ differences totally unmentioned in the 
patch.

yes, our include file dependencies are a jungle, the differences between 
32-bit and 64-bit are arbitrary in 80% of the cases, but still there's 
no reason why this couldnt be done correctly. The patch below is a quick 
bandaid that adds the missing bits.

Ingo

--
Subject: x86: fix include file mess
From: Ingo Molnar [EMAIL PROTECTED]

fix include file mess.

Signed-off-by: Ingo Molnar [EMAIL PROTECTED]
---
 include/asm-x86/processor.h |   16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

Index: linux-x86.q/include/asm-x86/processor.h
===
--- linux-x86.q.orig/include/asm-x86/processor.h
+++ linux-x86.q/include/asm-x86/processor.h
@@ -6,15 +6,27 @@
 struct task_struct;
 struct mm_struct;
 
+#ifdef CONFIG_X86_32
+# include asm/math_emu.h
+# include asm/vm86.h
+#endif
+
+#include asm/cpufeature.h
+#include asm/current.h
 #include asm/desc_defs.h
 #include asm/msr.h
 #include asm/page.h
 #include asm/percpu.h
+#include asm/segment.h
+#include asm/sigcontext.h
 #include asm/system.h
-#include asm/percpu.h
-#include linux/cpumask.h
+#include asm/types.h
+
 #include linux/cache.h
+#include linux/cpumask.h
+#include linux/init.h
 #include linux/personality.h
+#include linux/threads.h
 
 /*
  * Default implementation of macro that returns current
--
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 21/21] [PATCH] finish processor.h integration

2007-12-18 Thread Ingo Molnar

* Ingo Molnar [EMAIL PROTECTED] wrote:

 yes, our include file dependencies are a jungle, the differences 
 between 32-bit and 64-bit are arbitrary in 80% of the cases, but still 
 there's no reason why this couldnt be done correctly. The patch below 
 is a quick bandaid that adds the missing bits.

the bandaid didnt work - so i removed the 21/21 patch for the time 
being.

Ingo
--
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] MAINTAINERS: remove Adam Fritzler, update his email address in other sources

2007-12-18 Thread Matthew Wilcox
On Mon, Dec 17, 2007 at 08:48:03PM -0800, Joe Perches wrote:
 diff --git a/MAINTAINERS b/MAINTAINERS
 index 9507b42..690f172 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
 @@ -3758,13 +3758,6 @@ W: 
 http://www.kernel.org/pub/linux/kernel/people/bunk/trivial/
  T:   git kernel.org:/pub/scm/linux/kernel/git/bunk/trivial.git
  S:   Maintained
  
 -TMS380 TOKEN-RING NETWORK DRIVER
 -P:   Adam Fritzler
 -M:   [EMAIL PROTECTED]
 -L:   [EMAIL PROTECTED]
 -W:   http://www.auk.cx/tms380tr/
 -S:   Maintained

That's pretty unfriendly.  Presumably the linux-tr list is still active
and would still help people with that driver.  So how about:

 TMS380 TOKEN-RING NETWORK DRIVER
-P:   Adam Fritzler
-M:   [EMAIL PROTECTED]
 L:   [EMAIL PROTECTED]
?W:?
-S:   Maintained
+S:   Orphan

(Dunno what to do about W:)

-- 
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 21/21] [PATCH] finish processor.h integration

2007-12-18 Thread Glauber de Oliveira Costa

Ingo Molnar wrote:

* Ingo Molnar [EMAIL PROTECTED] wrote:

What's left in processor_32.h and processor_64.h cannot be cleanly 
integrated. However, it's just a couple of definitions. They are 
moved to processor.h around ifdefs, and the original files are 
deleted. Note that there's much less headers included in the final 
version.

and this patch breaks the build on the attached config, with:

   CC  arch/x86/mm/boot_ioremap_32.o
 In file included from include/asm/fixmap_32.h:28,
  from include/asm/fixmap.h:2,
  from include/asm/pgtable_32.h:16,
  from include/asm/pgtable.h:2,
  from arch/x86/mm/boot_ioremap_32.c:21:
 include/asm/acpi.h:159: error: expected '=', ',', ';', 'asm' or 
'__attribute__' before 'acpi_fake_nodes'
 make[1]: *** [arch/x86/mm/boot_ioremap_32.o] Error 1
 make: *** [arch/x86/mm/boot_ioremap_32.o] Error 2


really, please do _much_ more careful unification. We unified two full 
architectures in .24-rc1 and there was _not a single regression_ due to 
that unification. Not a single build failure, not a single boot or 
runtime failure.
IIRC, 24-rc1 was a different story. Most, if not all patches, had no 
binary diff, etc. This is not the case here.


here the problem is apparently caused by your patch, a careless 
'unification' of include file sections. 32-bit had this:


Point is this patches do unification, but they are not just that, as you 
can see. I am attempting to cleanup headers that appears not to be used, 
 I am effectivelly adding a new feature to x86_64, and so on. I am 
testing everything, all I sent works in my configs, and your testing, 
and point out the configs that breaks is really much appreciated.




-#include asm/vm86.h
-#include asm/math_emu.h
-#include asm/segment.h
-#include asm/page.h
-#include asm/types.h
-#include asm/sigcontext.h
-#include asm/cpufeature.h
-#include asm/msr.h
-#include asm/system.h
-#include linux/threads.h
-#include linux/init.h
-#include asm/desc_defs.h

64-bit had this:

-#include asm/segment.h
-#include asm/page.h
-#include asm/types.h
-#include asm/sigcontext.h
-#include asm/cpufeature.h
-#include linux/threads.h
-#include asm/msr.h
-#include asm/current.h
-#include asm/system.h
-#include linux/personality.h
-#include asm/desc_defs.h

and the 'unified' processor.h has:

+#include asm/desc_defs.h
+#include asm/msr.h
 #include asm/page.h
 #include asm/percpu.h
 #include asm/system.h
 #include asm/percpu.h
 #include linux/cpumask.h
 #include linux/cache.h
+#include linux/personality.h

Those are visible, _crutial_ differences totally unmentioned in the 
patch.


yes, our include file dependencies are a jungle, the differences between 
32-bit and 64-bit are arbitrary in 80% of the cases, but still there's 
no reason why this couldnt be done correctly. The patch below is a quick 
bandaid that adds the missing bits.


And that's because I'm trying to drop headers that are not used anymore. 
Again, getting test for other people but me, helps making sure it's 
correct. I am working on updating the series now, and will send an 
updated version.




Ingo

--
Subject: x86: fix include file mess
From: Ingo Molnar [EMAIL PROTECTED]

fix include file mess.

Signed-off-by: Ingo Molnar [EMAIL PROTECTED]
---
 include/asm-x86/processor.h |   16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

Index: linux-x86.q/include/asm-x86/processor.h
===
--- linux-x86.q.orig/include/asm-x86/processor.h
+++ linux-x86.q/include/asm-x86/processor.h
@@ -6,15 +6,27 @@
 struct task_struct;
 struct mm_struct;
 
+#ifdef CONFIG_X86_32

+# include asm/math_emu.h
+# include asm/vm86.h
+#endif
+
+#include asm/cpufeature.h
+#include asm/current.h
 #include asm/desc_defs.h
 #include asm/msr.h
 #include asm/page.h
 #include asm/percpu.h
+#include asm/segment.h
+#include asm/sigcontext.h
 #include asm/system.h
-#include asm/percpu.h
-#include linux/cpumask.h
+#include asm/types.h
+
 #include linux/cache.h
+#include linux/cpumask.h
+#include linux/init.h
 #include linux/personality.h
+#include linux/threads.h
 
 /*

  * Default implementation of macro that returns current


--
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 PATCH 08/12] PAT 64b: coherent mmap and sysfs bin ioctl

2007-12-18 Thread Eric W. Biederman
Andi Kleen [EMAIL PROTECTED] writes:

 Well the other alternative looks like having a second file per par
 bar.  Say resource0_wc to support the write-combining mode, possibly

 The intention was to support memory not in bars, but give a generic
 IOMMU mapped memory interface for user space e.g. for the X server.
 But that needs a way to return the bus address for the mmap mapping
 and ioctl was the best I came up with for that.
 Given it was never finished.

Ok that part wasn't obvious.  The only thing we mmap in sysfs today
are the bars.

Taking normal memory and iommu mapping it to a device and then having
a user space accessible version is a bit different.  We need a special
interface to allocate it and map it through the iommu to user space.
This needs to be a driver or a support subsystem like DRM.  Once
we have gone that far then we can map those address to user space.

I expect from the sysfs perspective those per device regions should look
a lot like bars showing contiguous chunks of memory RAM from the devices
perspective.  At which point having two files instead of just one can
solve the problem without an ioctl.

For contiguous to device memory we also have some permission issues
so I'm not yet certain that it make sense to expose it through sysfs.

Regardless that seems to be solving a completely new aspect of the problem,
and we can solve that problem separately.

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: [PATCH 21/21] [PATCH] finish processor.h integration

2007-12-18 Thread Glauber de Oliveira Costa

Ingo Molnar wrote:

* Ingo Molnar [EMAIL PROTECTED] wrote:

yes, our include file dependencies are a jungle, the differences 
between 32-bit and 64-bit are arbitrary in 80% of the cases, but still 
there's no reason why this couldnt be done correctly. The patch below 
is a quick bandaid that adds the missing bits.


the bandaid didnt work - so i removed the 21/21 patch for the time 
being.
I will also have updates for other patches, If you want, you can drop 
the series entirely,

and wait for the new one to come


--
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 v2] atmel_serial: Clean up the code

2007-12-18 Thread steve birtles


On Dec 18, 2007, at 6:33 PM, Haavard Skinnemoen wrote:


On Tue, 18 Dec 2007 11:14:42 +0100
Remy Bohmer [EMAIL PROTECTED] wrote:


Hello Haavard,

Please note that I'm not trying to steal the show here -- I just  
want


That did not even come to my mind at all...
I am happy with everything that helps making this driver better.


Good :)

What shall we do first from here, splitup of the interrupt  
handler? Or

DMA patch?





Is there any change can we clean this up?
 /*
  * We wrap our port structure around the generic uart_port.
@@ -142,8 +146,8 @@ static void atmel_set_mctrl(struct uart_port  
*port, u_int mctrl)

 #ifdef CONFIG_ARCH_AT91RM9200
if (cpu_is_at91rm9200()) {
/*
-* AT91RM9200 Errata #39: RTS0 is not internally connected to 
PA21.
-*  We need to drive the pin manually.
+* AT91RM9200 Errata #39: RTS0 is not internally connected
+* to PA21. We need to drive the pin manually.
 */
if (port-mapbase == AT91RM9200_BASE_US0) {
if (mctrl  TIOCM_RTS)
@@ -228,7 +232,8 @@ static void atmel_stop_rx(struct uart_port *port)
  */

and potentially add those flags for  dealing with the  CTS  RTS   ,  
that may not be used on every board,  because this clean up sit's in  
my minor changes for the YL9200, specifically to  re-jig the USARTS  
lines so that we can separate  RXD TXD , from a forced requirment to  
use  control lines when using  232


Steve



I currently have the patches applied in the order you sent them,  
with my

stuff wedged in between (thanks to git-rebase --interactive.) So I
think it makes sense to do the interrupt handler splitup first, even
though I personally care more about the DMA patch.

Haavard

---
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux- 
arm-kernel

FAQ:http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php




--
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/4] x86: add kprobe-booster to X86_64

2007-12-18 Thread Masami Hiramatsu
Hi Harvey,

Thank you for cleaning this up.

Harvey Harrison wrote:
 Subject: [PATCH] x86: kprobes leftover cleanups
 
 Eliminate __always_inline, all of these static functions are
 only called once.  Minor whitespace cleanup.  Eliminate one
 supefluous return at end of void function.  Reverse sense of
 #ifndef to be #ifdef to show the case only affects X86_32.

Unfortunately, to prevent kprobe recursive call, all functions which
is called from kprobes must be inlined or have __kprobes.
If __always_inline macro still work, I prefer to use it. If not,
it must have a __kprobe attribute like as below.

 Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
 ---
  arch/x86/kernel/kprobes.c |   14 ++
  1 files changed, 6 insertions(+), 8 deletions(-)
 
 diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c
 index 9aadd4d..1a0d96d 100644
 --- a/arch/x86/kernel/kprobes.c
 +++ b/arch/x86/kernel/kprobes.c
 @@ -159,7 +159,7 @@ struct kretprobe_blackpoint kretprobe_blacklist[] = {
  const int kretprobe_blacklist_size = ARRAY_SIZE(kretprobe_blacklist);
  
  /* Insert a jump instruction at address 'from', which jumps to address 
 'to'.*/
 -static __always_inline void set_jmp_op(void *from, void *to)
 +static void set_jmp_op(void *from, void *to)

+static void __kprobes set_jmp_op(void *from, void *to)

  {
   struct __arch_jmp_op {
   char op;
 @@ -174,7 +174,7 @@ static __always_inline void set_jmp_op(void *from, void 
 *to)
   * Returns non-zero if opcode is boostable.
   * RIP relative instructions are adjusted at copying time in 64 bits mode
   */
 -static __always_inline int can_boost(kprobe_opcode_t *opcodes)
 +static int can_boost(kprobe_opcode_t *opcodes)

+static int __kprobes can_boost(kprobe_opcode_t *opcodes)


  {
   kprobe_opcode_t opcode;
   kprobe_opcode_t *orig_opcodes = opcodes;
 @@ -392,13 +392,13 @@ static void __kprobes set_current_kprobe(struct kprobe 
 *p, struct pt_regs *regs,
   kcb-kprobe_saved_flags = ~IF_MASK;
  }
  
 -static __always_inline void clear_btf(void)
 +static void clear_btf(void)

+static void __kprobes clear_btf(void)

  {
   if (test_thread_flag(TIF_DEBUGCTLMSR))
   wrmsr(MSR_IA32_DEBUGCTLMSR, 0, 0);
  }
  
 -static __always_inline void restore_btf(void)
 +static void restore_btf(void)

+static void __kprobes restore_btf(void)

  {
   if (test_thread_flag(TIF_DEBUGCTLMSR))
   wrmsr(MSR_IA32_DEBUGCTLMSR, current-thread.debugctlmsr, 0);
 @@ -409,7 +409,7 @@ static void __kprobes prepare_singlestep(struct kprobe 
 *p, struct pt_regs *regs)
   clear_btf();
   regs-flags |= TF_MASK;
   regs-flags = ~IF_MASK;
 - /*single step inline if the instruction is an int3*/
 + /* single step inline if the instruction is an int3 */
   if (p-opcode == BREAKPOINT_INSTRUCTION)
   regs-ip = (unsigned long)p-addr;
   else
 @@ -767,7 +767,7 @@ static void __kprobes resume_execution(struct kprobe *p,
   case 0xe8:  /* call relative - Fix return addr */
   *tos = orig_ip + (*tos - copy_ip);
   break;
 -#ifndef CONFIG_X86_64
 +#ifdef CONFIG_X86_32
   case 0x9a:  /* call absolute -- same as call absolute, indirect */
   *tos = orig_ip + (*tos - copy_ip);
   goto no_change;
 @@ -813,8 +813,6 @@ static void __kprobes resume_execution(struct kprobe *p,
  
  no_change:
   restore_btf();
 -
 - return;
  }
  
  /*

Thanks again!

-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: [EMAIL PROTECTED], [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: [PATCH] drivers/scsi/: Spelling fixes

2007-12-18 Thread Salyzyn, Mark
ACK ips line change.

Sincerely -- Mark Salyzyn

 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf Of Joe Perches
 Sent: Monday, December 17, 2007 2:40 PM
 To: linux-kernel@vger.kernel.org
 Cc: Andrew Morton; AACRAID; Andrew Vasquez; Brian King; 
 IpsLinux; Hannes Reinecke; James E.J. Bottomley; James Smart; 
 Mike Christie; Neela Syam Kolli; [EMAIL PROTECTED]; 
 [EMAIL PROTECTED]
 Subject: [PATCH] drivers/scsi/: Spelling fixes
 
 Signed-off-by: Joe Perches [EMAIL PROTECTED]
 ---
. . .
  drivers/scsi/ips.c|2 +-
. . .
 diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
 index 5c5a9b2..901e14b 100644
 --- a/drivers/scsi/ips.c
 +++ b/drivers/scsi/ips.c
 @@ -1313,7 +1313,7 @@ ips_intr_copperhead(ips_ha_t * ha)
   cstatus.value = (*ha-func.statupd) (ha);
  
   if (cstatus.fields.command_id  (IPS_MAX_CMDS - 1)) {
 - /* Spurious Interupt ? */
 + /* Spurious Interrupt ? */
   continue;
   }
  
--
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] dmi: Let drivers walk the DMI table

2007-12-18 Thread Jean Delvare
Hi all,

This patch is for review and comments, not merge. As the first user for
this new functionality is a hardware monitoring driver [1], this patch
will be better merged via the hwmon tree. If anyone has objections with
regards to this patch, please let me know.

[1] http://lists.lm-sensors.org/pipermail/lm-sensors/2007-December/022164.html

* * * * *

Let drivers walk the DMI table for their own needs. Some drivers need
data stored in OEM-specific DMI records for proper operation.

Signed-off-by: Jean Delvare [EMAIL PROTECTED]
---
 drivers/firmware/dmi_scan.c |   61 +--
 include/linux/dmi.h |3 ++
 2 files changed, 50 insertions(+), 14 deletions(-)

--- linux-2.6.24-rc5.orig/drivers/firmware/dmi_scan.c   2007-12-12 
12:36:34.0 +0100
+++ linux-2.6.24-rc5/drivers/firmware/dmi_scan.c2007-12-18 
14:27:28.0 +0100
@@ -36,18 +36,12 @@ static char * __init dmi_string(const st
  * We have to be cautious here. We have seen BIOSes with DMI pointers
  * pointing to completely the wrong place for example
  */
-static int __init dmi_table(u32 base, int len, int num,
-   void (*decode)(const struct dmi_header *))
+static void dmi_table(u8 *buf, int len, int num,
+ void (*decode)(const struct dmi_header *))
 {
-   u8 *buf, *data;
+   u8 *data = buf;
int i = 0;
 
-   buf = dmi_ioremap(base, len);
-   if (buf == NULL)
-   return -1;
-
-   data = buf;
-
/*
 *  Stop when we see all the items the table claimed to have
 *  OR we run off the end of the table (also happens)
@@ -68,7 +62,23 @@ static int __init dmi_table(u32 base, in
data += 2;
i++;
}
-   dmi_iounmap(buf, len);
+}
+
+static u32 dmi_base;
+static u16 dmi_len;
+static u16 dmi_num;
+
+static int __init dmi_walk_early(void (*decode)(const struct dmi_header *))
+{
+   u8 *buf;
+
+   buf = dmi_ioremap(dmi_base, dmi_len);
+   if (buf == NULL)
+   return -1;
+
+   dmi_table(buf, dmi_len, dmi_num, decode);
+
+   dmi_iounmap(buf, dmi_len);
return 0;
 }
 
@@ -273,9 +283,9 @@ static int __init dmi_present(const char
 
memcpy_fromio(buf, p, 15);
if ((memcmp(buf, _DMI_, 5) == 0)  dmi_checksum(buf)) {
-   u16 num = (buf[13]  8) | buf[12];
-   u16 len = (buf[7]  8) | buf[6];
-   u32 base = (buf[11]  24) | (buf[10]  16) |
+   dmi_num = (buf[13]  8) | buf[12];
+   dmi_len = (buf[7]  8) | buf[6];
+   dmi_base = (buf[11]  24) | (buf[10]  16) |
(buf[9]  8) | buf[8];
 
/*
@@ -287,7 +297,7 @@ static int __init dmi_present(const char
   buf[14]  4, buf[14]  0xF);
else
printk(KERN_INFO DMI present.\n);
-   if (dmi_table(base,len, num, dmi_decode) == 0)
+   if (dmi_walk_early(dmi_decode) == 0)
return 0;
}
return 1;
@@ -470,3 +480,26 @@ int dmi_get_year(int field)
return year;
 }
 
+/**
+ * dmi_walk - Walk the DMI table and get called back for every record
+ * @decode: Callback function
+ *
+ * Returns -1 when the DMI table can't be reached, 0 on success.
+ */
+int dmi_walk(void (*decode)(const struct dmi_header *))
+{
+   u8 *buf;
+
+   if (!dmi_available)
+   return -1;
+
+   buf = ioremap(dmi_base, dmi_len);
+   if (buf == NULL)
+   return -1;
+
+   dmi_table(buf, dmi_len, dmi_num, decode);
+
+   iounmap(buf);
+   return 0;
+}
+EXPORT_SYMBOL_GPL(dmi_walk);
--- linux-2.6.24-rc5.orig/include/linux/dmi.h   2007-12-12 12:36:34.0 
+0100
+++ linux-2.6.24-rc5/include/linux/dmi.h2007-12-18 14:27:28.0 
+0100
@@ -78,6 +78,7 @@ extern const struct dmi_device * dmi_fin
 extern void dmi_scan_machine(void);
 extern int dmi_get_year(int field);
 extern int dmi_name_in_vendors(const char *str);
+extern int dmi_walk(void (*decode)(const struct dmi_header *));
 
 #else
 
@@ -87,6 +88,8 @@ static inline const struct dmi_device * 
const struct dmi_device *from) { return NULL; }
 static inline int dmi_get_year(int year) { return 0; }
 static inline int dmi_name_in_vendors(const char *s) { return 0; }
+static inline int dmi_walk(void (*decode)(const struct dmi_header *))
+   { return -1; }
 
 #endif
 


-- 
Jean Delvare
--
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 mknod regression

2007-12-18 Thread David Chinner
On Mon, Dec 17, 2007 at 08:48:40PM -0800, Bret Towe wrote:
 I hit a bug in 2.6.24-rc looks to be in 2.6.23 also so not sure how
 long it's been there
 with an xfs filesystem pbuilder has an issue using device files it
 makes for chroot
 the mknod command looks to work fine the file is created
 however when attempting to use one of the created files you see
 something like the below
 
 ghoststar dev # echo hi  null
 bash: null: No such device or address
 ghoststar dev # ls -l null
 crw-rw-rw- 1 root root 1, 3 2007-12-17 20:34 null
 ghoststar dev # ls -l /dev/null
 crw-rw-rw- 1 root root 1, 3 2007-10-05 17:29 /dev/null
 ghoststar dev # echo hi  /dev/null
 ghoststar dev #

Ok. Works on 2.6.22. doesn't work on latest xfsdev. I'll
look into it.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
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] Fix crash with FLAT_MEMORY and ARCH_PFN_OFFSET != 0

2007-12-18 Thread Mel Gorman
On (18/12/07 13:03), Thomas Bogendoerfer didst pronounce:
 When using FLAT_MEMORY and ARCH_PFN_OFFSET is not 0, the kernel
 crashes in memmap_init_zone(). This bug got introduced by
 commit c713216deebd95d2b0ab38fef8bb2361c0180c2d
 

That commit is over a year old and it initially distressed me that it
would take this long to show up on a boot test. However, you said this was
to fix MIPS in a follow-on mail and I never made it use arch-independent
zone-sizing which is where CONFIG_ARCH_POPULATES_NODE_MAP comes from. Support
for arch-independent zone-sizing was added for MIPS on Nov 3rd 2007 by commit
cce335ae47e231398269fb05fa48e0e9cbf289e0 (relevant cc added) which is a much
more reasonable timeframe for catching this sort of problem. I believe the
real bug might be in there.

Can you post a full dmesg log with loglevel=8 so I can see what the layout
looks like? My aim is to find out why the start of your mem_map is not at
the start of node 0's mem_map which is what I generally expected with the
FLATMEM model.

Thanks.

 Signed-off-by: Thomas Bogendoerfer [EMAIL PROTECTED]
 ---
 
  mm/page_alloc.c |2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
 diff --git a/mm/page_alloc.c b/mm/page_alloc.c
 index b5a58d4..496f7f3 100644
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
 @@ -3427,7 +3427,7 @@ static void __init_refok alloc_node_mem_map(struct 
 pglist_data *pgdat)
   mem_map = NODE_DATA(0)-node_mem_map;
  #ifdef CONFIG_ARCH_POPULATES_NODE_MAP
   if (page_to_pfn(mem_map) != pgdat-node_start_pfn)
 - mem_map -= pgdat-node_start_pfn;
 + mem_map -= (pgdat-node_start_pfn - ARCH_PFN_OFFSET);
  #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
   }
  #endif
 

-- 
Mel Gorman
Part-time Phd Student  Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/3] PCI: use dev_printk in x86 quirk messages

2007-12-18 Thread Ingo Molnar

* [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

 Convert quirk printks to dev_printk().

thanks, applied the x86 bits.

Ingo
--
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/4] x86: add kprobe-booster to X86_64

2007-12-18 Thread Ingo Molnar

* Harvey Harrison [EMAIL PROTECTED] wrote:

 On Tue, 2007-12-18 at 12:29 +0100, Ingo Molnar wrote:
  * Harvey Harrison [EMAIL PROTECTED] wrote:
  
   Sorry I missed an ifdef in this patch in the following hunk:
  
  could you resend your kprobes cleanups against current x86.git? They
  have been conceptually acked by Masami. This cuts out the unification
  part of your queue which is bad luck but the effort has been duplicated
  already so there's not much we can do about it i guess.
  
  Your other 17 cleanup and unification patches are still queued up in
  x86.git and passed a lot of testing, so they will likely go into
  v2.6.25. Nice work!
  
  Ingo
 
 Ingo,
 
 I'd suggest just tossing my kprobes cleanups.  I just sent you a rollup
 of anything I saw that was left in mine that was still worthwhile
 after Masami's, included below for reference.  It didn't amount to much
 left so I rolled it all together:
 
 Subject: [PATCH] x86: kprobes leftover cleanups
 
 Eliminate __always_inline, all of these static functions are
 only called once.  Minor whitespace cleanup.  Eliminate one
 supefluous return at end of void function.  Reverse sense of
 #ifndef to be #ifdef to show the case only affects X86_32.

thanks, i've applied them.

Ingo
--
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 7/21] [PATCH] unify common parts of processor.h

2007-12-18 Thread Ingo Molnar

* Glauber de Oliveira Costa [EMAIL PROTECTED] wrote:

 due to zapping this bit of include/asm-x86/processor_32.h:

  -/* Forward declaration, a strange C thing */
  -struct task_struct;
  -struct mm_struct;

  Ingo

 I'll test it with your config, and repost.

i've pushed out a new iteration of x86.git, which includes 20 out of 
your 21 patches, so please repost relative to that tree.

i have fixed the above problem by adding those 3 lines.

Ingo
--
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 v2] x86: unify module_{32|64}.h

2007-12-18 Thread Ingo Molnar

* Harvey Harrison [EMAIL PROTECTED] wrote:

 From 5be3fc6a0e28d82a05487a8fb1a86532fb0ad4e8 Mon Sep 17 00:00:00 2001
 From: Harvey Harrison [EMAIL PROTECTED]
 Date: Tue, 18 Dec 2007 03:58:10 -0800
 Subject: [PATCH] x86: unify module_{32|64}.h
 
 This adds one case to the MODULE_PROC_FAMILY block testing
 for X86_64.  There are no new things defined on X86_64 than
 there were before.
 
 Signed-off-by: Harvey Harrison [EMAIL PROTECTED]
 ---
 Ingo, let a single checkpatch warning go by in the first one,
 fixed in this version.

thanks, applied.

Ingo
--
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.24-rc5-mm1 -- INFO: possible circular locking dependency detected -- pm-suspend/5800 is trying to acquire lock

2007-12-18 Thread Miles Lane
I have only seen this happen once, and cannot reproduce it.  I'll keep
trying, though.

Dec 16 22:10:48 syntropy kernel: [  231.718023]
===
Dec 16 22:10:48 syntropy kernel: [  231.718025] [ INFO: possible
circular locking dependency detected ]
Dec 16 22:10:48 syntropy kernel: [  231.718028] 2.6.24-rc5-mm1 #7
Dec 16 22:10:48 syntropy kernel: [  231.718029]
---
Dec 16 22:10:48 syntropy kernel: [  231.718032] pm-suspend/5800 is
trying to acquire lock:
Dec 16 22:10:48 syntropy kernel: [  231.718034]
((priv-init_alive_start)-work){--..}, at:
[__cancel_work_timer+0x8a/0x17f] __cancel_work_timer+0x8a/0x17f
Dec 16 22:10:48 syntropy kernel: [  231.718045]
Dec 16 22:10:48 syntropy kernel: [  231.718046] but task is already
holding lock:
Dec 16 22:10:48 syntropy kernel: [  231.718047]  (priv-mutex){--..},
at: [f8a587e7] iwl3945_pci_suspend+0x1d/0x65 [iwl3945]
Dec 16 22:10:48 syntropy kernel: [  231.718065]
Dec 16 22:10:48 syntropy kernel: [  231.718066] which lock already
depends on the new lock.
Dec 16 22:10:48 syntropy kernel: [  231.718067]
Dec 16 22:10:48 syntropy kernel: [  231.718068]
Dec 16 22:10:48 syntropy kernel: [  231.718069] the existing
dependency chain (in reverse order) is:
Dec 16 22:10:48 syntropy kernel: [  231.718071]
Dec 16 22:10:48 syntropy kernel: [  231.718072] - #1 (priv-mutex){--..}:
Dec 16 22:10:48 syntropy kernel: [  231.718075]
[__lock_acquire+0xa17/0xbf4] __lock_acquire+0xa17/0xbf4
Dec 16 22:10:48 syntropy kernel: [  231.718083]
[mac80211:lock_acquire+0x76/0x1d8] lock_acquire+0x76/0x9d
Dec 16 22:10:48 syntropy kernel: [  231.718088]
[pcmcia:mutex_lock_nested+0xf7/0xd7d] mutex_lock_nested+0xf7/0x294
Dec 16 22:10:48 syntropy kernel: [  231.718096][f8a56ff7]
iwl3945_bg_init_alive_start+0x2d/0x1d7 [iwl3945]
Dec 16 22:10:48 syntropy kernel: [  231.718109]
[run_workqueue+0xbb/0x18b] run_workqueue+0xbb/0x18b
Dec 16 22:10:48 syntropy kernel: [  231.718115]
[worker_thread+0xbe/0xcd] worker_thread+0xbe/0xcd
Dec 16 22:10:48 syntropy kernel: [  231.718121]
[kthread+0x3b/0x61] kthread+0x3b/0x61
Dec 16 22:10:48 syntropy kernel: [  231.718126]
[kernel_thread_helper+0x7/0x10] kernel_thread_helper+0x7/0x10
Dec 16 22:10:48 syntropy kernel: [  231.718133][] 0x
Dec 16 22:10:48 syntropy kernel: [  231.718145]
Dec 16 22:10:48 syntropy kernel: [  231.718146] - #0
((priv-init_alive_start)-work){--..}:
Dec 16 22:10:48 syntropy kernel: [  231.718149]
[__lock_acquire+0x93e/0xbf4] __lock_acquire+0x93e/0xbf4
Dec 16 22:10:48 syntropy kernel: [  231.718155]
[mac80211:lock_acquire+0x76/0x1d8] lock_acquire+0x76/0x9d
Dec 16 22:10:48 syntropy kernel: [  231.718161]
[__cancel_work_timer+0xb3/0x17f] __cancel_work_timer+0xb3/0x17f
Dec 16 22:10:48 syntropy kernel: [  231.718167]
[iwl3945:cancel_delayed_work_sync+0xb/0x0d]
cancel_delayed_work_sync+0xb/0xd
Dec 16 22:10:48 syntropy kernel: [  231.718173][f8a542cb]
__iwl3945_down+0x51/0x310 [iwl3945]
Dec 16 22:10:48 syntropy kernel: [  231.718184][f8a587f7]
iwl3945_pci_suspend+0x2d/0x65 [iwl3945]
Dec 16 22:10:48 syntropy kernel: [  231.718196]
[pci_device_suspend+0x1b/0x4b] pci_device_suspend+0x1b/0x4b
Dec 16 22:10:48 syntropy kernel: [  231.718203]
[device_suspend+0x17e/0x259] device_suspend+0x17e/0x259
Dec 16 22:10:48 syntropy kernel: [  231.718210]
[suspend_devices_and_enter+0x3d/0x138]
suspend_devices_and_enter+0x3d/0x138
Dec 16 22:10:48 syntropy kernel: [  231.718217]
[enter_state+0x121/0x17d] enter_state+0x121/0x17d
Dec 16 22:10:48 syntropy kernel: [  231.718222]
[state_store+0x96/0xac] state_store+0x96/0xac
Dec 16 22:10:48 syntropy kernel: [  231.718228]
[kobj_attr_store+0x1a/0x22] kobj_attr_store+0x1a/0x22
Dec 16 22:10:48 syntropy kernel: [  231.718234]
[sysfs_write_file+0xb8/0xe3] sysfs_write_file+0xb8/0xe3
Dec 16 22:10:48 syntropy kernel: [  231.718242]
[vfs_write+0xa4/0x120] vfs_write+0xa4/0x120
Dec 16 22:10:48 syntropy kernel: [  231.718248]
[sys_write+0x3b/0x60] sys_write+0x3b/0x60
Dec 16 22:10:48 syntropy kernel: [  231.718254]
[sysenter_past_esp+0x6b/0xc1] sysenter_past_esp+0x6b/0xc1
Dec 16 22:10:48 syntropy kernel: [  231.718259][] 0x
Dec 16 22:10:48 syntropy kernel: [  231.718269]
Dec 16 22:10:48 syntropy kernel: [  231.718269] other info that might
help us debug this:
Dec 16 22:10:48 syntropy kernel: [  231.718271]
Dec 16 22:10:48 syntropy kernel: [  231.718272] 4 locks held by pm-suspend/5800:
Dec 16 22:10:48 syntropy kernel: [  231.718274]  #0:
(buffer-mutex){--..}, at: [sysfs_write_file+0x25/0xe3]
sysfs_write_file+0x25/0xe3
Dec 16 22:10:48 syntropy kernel: [  231.718280]  #1:
(pm_mutex){--..}, at: [enter_state+0x166/0x17d]
enter_state+0x166/0x17d
Dec 16 22:10:48 syntropy kernel: [  231.718286]  #2:  (dpm_mtx){--..},
at: [device_suspend+0x2b/0x259] device_suspend+0x2b/0x259
Dec 16 22:10:48 syntropy kernel: [  231.718291]  #3:
(priv-mutex){--..}, at: [f8a587e7] 

Do not reset xfsquota flags on quotaless ro mount

2007-12-18 Thread Jan Engelhardt
Hi,


In https://bugzilla.novell.com/show_bug.cgi?id=345338 it is claimed that
resetting the quota flags in the mounting sequence rw,ro,rw is a bug, but I
would say this is not the case, as quota is metadata, and the log is replayed
in ro mode even for other filesystems. Yet, it is still not nice, and I have
been trying with this patch, which does not do the right thing yet. (It does a
recovery when mounting for the 3rd time, which probably just says that I did
not know too much of xfs internals to cook up a nicely working patch.)
Opinions?

===

In the following action sequence, quota is unnecessarily recalculated
at the 3rd mount invocation:

mount -o usrquota,grpquota /dev/mapper/myxfs /mnt
umount /mnt
mount -o ro /dev/mapper/myxfs /mnt
umount /mnt
mount -o usrquota,grpquota /dev/mapper/myxfs /mnt

This patch skips clearing the quota flags on read-only mounts.

---
 fs/xfs/xfs_qmops.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

Index: linux-2.6/fs/xfs/xfs_qmops.c
===
--- linux-2.6.orig/fs/xfs/xfs_qmops.c
+++ linux-2.6/fs/xfs/xfs_qmops.c
@@ -134,7 +134,14 @@ static struct xfs_qmops xfs_qmcore_stub 
 int
 xfs_qmops_get(struct xfs_mount *mp, struct xfs_mount_args *args)
 {
-   if (args-flags  (XFSMNT_UQUOTA | XFSMNT_PQUOTA | XFSMNT_GQUOTA)) {
+   bool c;
+
+   c = args-flags  (XFSMNT_UQUOTA | XFSMNT_GQUOTA | XFSMNT_PQUOTA);
+#ifdef CONFIG_XFS_QUOTA
+   c |= mp-m_flags  XFS_MOUNT_RDONLY;
+#endif
+
+   if (c) {
 #ifdef CONFIG_XFS_QUOTA
mp-m_qm_ops = xfs_qmcore_xfs;
 #else
--
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-rc5-mm1 -- INFO: possible circular locking dependency detected -- pm-suspend/5800 is trying to acquire lock

2007-12-18 Thread Johannes Berg

On Tue, 2007-12-18 at 09:03 -0500, Miles Lane wrote:
 I have only seen this happen once, and cannot reproduce it.  I'll keep
 trying, though.
 
 Dec 16 22:10:48 syntropy kernel: [  231.718023]
 ===

Do you have a version that isn't line-wrapped before I try to unwrap it?

Thanks,
johannes


signature.asc
Description: This is a digitally signed message part


Re: Important regression with XFS update for 2.6.24-rc6

2007-12-18 Thread Damien Wyart
* David Chinner [EMAIL PROTECTED] [071218 13:24]:
 Ok. I haven't noticed anything wrong with directories up to about
 250,000 files in the last few days. The ls -l I just did on
 a directory with 15000 entries (btree format) used about 5MB of RAM.
 extent format directories appear to work fine as well (tested 500
 entries).

Ok, nice to know the problem is not so frequent.

 Can you:

   a) isolate the problem to one patch or the other. My guess
  would be the directory mod, but.

Yes, it is indeed the directory patch. But even if I still sometimes get
huge memory usage with ls (using the patched kernel), this is quite
rare, and the problem is now mainly getting entries in the listing
repeated, and the ls process taking longer than without the patch. But
this is mainly after booting. I guess the cache plays a role and even
using drop_caches, I can't reproduce the problem. Only on fresh reboot
do I get it systematically, but much less often the memory problem. And
as said earlier, after fresh boot on rc5-git5 without the directory
patch, the ls -l goes normal (no repeated entries).

   b) show your working ;)

Sorry, I forgot this part in my initial report.

   - what platform (i386, x86_64, etc)

i386.

   - what debug options

Nothing special, the kernel has 4K stacks, and xfs partitions are
mounted with noatime,nodiratime.

   - commands and output that shows the problem

It is mainly ls -l in a quite crowded directory.

   - strace of ls -l going bad
   - xfs_info from filesystem in question

I have put the files at http://damien.wyart.free.fr/xfs/

strace_xfs_problem.1.gz and strace_xfs_problem.2.gz have been created
with the problematic kernel, and are quite bigger than
strace_xfs_problem.normal.gz, which has been created with the vanilla
rc5-git5. There is also xfs_info.


I can provide further details if needed (maybe kernel config, but
nothing special on the xfs side), but I confirm the behavior is
different with and without the directory patch
(041388b54ed95cd169546bd83bacd08ee32bd7ea on oss.sgi), and doesn't look
normal with the patch.

-- 
Damien Wyart
--
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] atmel_serial: Split the interrupt handler

2007-12-18 Thread Haavard Skinnemoen
From: Remy Bohmer [EMAIL PROTECTED]

This patch splits up the interrupt handler of the serial port
into a interrupt top-half and a tasklet.

The goal is to get the interrupt top-half as short as possible to
minimize latencies on interrupts. But the old code also does some
calls in the interrupt handler that are not allowed on preempt-RT
in IRQF_NODELAY context. This handler is executed in this context
because of the interrupt sharing with the timer interrupt.
The timer interrupt on Preempt-RT runs in IRQF_NODELAY context.

The tasklet takes care of handling control status changes, pushing
incoming characters to the tty layer, handling break and other errors.

The Transmit path was IRQF_NODELAY safe by itself, and is not adapted.
The read path for DMA(PDC) is also not adapted, because that code
does not run in IRQF_NODELAY context due to irq-sharing. The DBGU
which is shared with the timer-irq does not work with DMA, so
therefor this is no problem.

Reading the complete receive queue is still done in the top-half
because we never want to miss any incoming character.

This patch demands the following patches to be installed first:
* atmel_serial_cleanup.patch

[EMAIL PROTECTED]: misc cleanups and simplifications]
Signed-off-by: Remy Bohmer [EMAIL PROTECTED]
Signed-off-by: Haavard Skinnemoen [EMAIL PROTECTED]
---
Changes since v1:
Whitespace cleanups
Allocate rx ring data separately
Move more of the rx processing into tasklet
Consolidate rx and status tasklets into one
Use circ_buf instead of atmel_uart_ring
Eliminate RX ring locking

In this version of the patch, we try to only do things that are
absolutely necessary in the interrupt handler, storing away the
status register along with the received character and letting the
tasklet handle break, sysrq, error flags, etc.

Since we don't need to store the tty flags and overrun bit, the size
of each entry in the RX ring is reduced from 16 bytes to 4 bytes.

I've also used the first SMP barrier pair in my life; hope it's
correct. I don't think we need full barriers because we don't deal
with I/O, but we need SMP barriers to get correct ordering across CPUs
and to prevent the compiler from reading things in the wrong order.

This patch should apply on top of the cleanup patch I sent earlier
today. Or at least I think so...I'll send the full series once
everyone are happy.

 drivers/serial/atmel_serial.c |  208 -
 1 files changed, 162 insertions(+), 46 deletions(-)

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index bd41529..a733db5 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -111,6 +111,13 @@
 static int (*atmel_open_hook) (struct uart_port *);
 static void (*atmel_close_hook) (struct uart_port *);
 
+struct atmel_uart_char {
+   u16 status;
+   u16 ch;
+};
+
+#define ATMEL_SERIAL_RINGSIZE 1024
+
 /*
  * We wrap our port structure around the generic uart_port.
  */
@@ -119,6 +126,12 @@ struct atmel_uart_port {
struct clk  *clk;   /* uart clock */
unsigned short  suspended;  /* is port suspended? */
int break_active;   /* break being received */
+
+   struct tasklet_struct   tasklet;
+   unsigned intirq_pending;
+   unsigned intirq_status;
+
+   struct circ_buf rx_ring;
 };
 
 static struct atmel_uart_port atmel_ports[ATMEL_MAX_UART];
@@ -248,22 +261,42 @@ static void atmel_break_ctl(struct uart_port *port, int 
break_state)
 }
 
 /*
+ * Stores the incoming character in the ring buffer
+ */
+static void
+atmel_buffer_rx_char(struct uart_port *port, unsigned int status,
+unsigned int ch)
+{
+   struct atmel_uart_port *atmel_port = (struct atmel_uart_port *)port;
+   struct circ_buf *ring = atmel_port-rx_ring;
+   struct atmel_uart_char *c;
+
+   if (!CIRC_SPACE(ring-head, ring-tail, ATMEL_SERIAL_RINGSIZE))
+   /* Buffer overflow, ignore char */
+   return;
+
+   c = ((struct atmel_uart_char *)ring-buf)[ring-head];
+   c-status   = status;
+   c-ch   = ch;
+
+   /* Make sure the character is stored before we update head. */
+   smp_wmb();
+
+   ring-head = (ring-head + 1)  (ATMEL_SERIAL_RINGSIZE - 1);
+}
+
+/*
  * Characters received (called from interrupt handler)
  */
 static void atmel_rx_chars(struct uart_port *port)
 {
struct atmel_uart_port *atmel_port = (struct atmel_uart_port *)port;
-   struct tty_struct *tty = port-info-tty;
-   unsigned int status, ch, flg;
+   unsigned int status, ch;
 
status = UART_GET_CSR(port);
while (status  ATMEL_US_RXRDY) {
ch = UART_GET_CHAR(port);
 
-   port-icount.rx++;
-
-   flg = TTY_NORMAL;
-
/*
 * note that the error 

[git pull] scheduler fixes

2007-12-18 Thread Ingo Molnar

Linus, please pull the latest scheduler git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched.git

Thanks,

Ingo

--
Dmitry Adamushko (1):
  sched: fix crash on ia64, introduce task_current()

Eric Dumazet (1):
  sched: sysctl, proc_dointvec_minmax() expects int values for

Ingo Molnar (2):
  sched: touch softlockup watchdog after idling
  sched: do not hurt SCHED_BATCH on wakeup

Livio Soares (1):
  sched: mark rwsem functions as __sched for wchan/profiling

 kernel/rwsem.c  |5 +++--
 kernel/sched.c  |   18 --
 kernel/sched_fair.c |3 +--
 kernel/sysctl.c |8 
 lib/rwsem.c |2 +-
 5 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/kernel/rwsem.c b/kernel/rwsem.c
index 1ec620c..cae050b 100644
--- a/kernel/rwsem.c
+++ b/kernel/rwsem.c
@@ -6,6 +6,7 @@
 
 #include linux/types.h
 #include linux/kernel.h
+#include linux/sched.h
 #include linux/module.h
 #include linux/rwsem.h
 
@@ -15,7 +16,7 @@
 /*
  * lock for reading
  */
-void down_read(struct rw_semaphore *sem)
+void __sched down_read(struct rw_semaphore *sem)
 {
might_sleep();
rwsem_acquire_read(sem-dep_map, 0, 0, _RET_IP_);
@@ -42,7 +43,7 @@ EXPORT_SYMBOL(down_read_trylock);
 /*
  * lock for writing
  */
-void down_write(struct rw_semaphore *sem)
+void __sched down_write(struct rw_semaphore *sem)
 {
might_sleep();
rwsem_acquire(sem-dep_map, 0, 0, _RET_IP_);
diff --git a/kernel/sched.c b/kernel/sched.c
index c6e551d..3df84ea 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -508,10 +508,15 @@ EXPORT_SYMBOL_GPL(cpu_clock);
 # define finish_arch_switch(prev)  do { } while (0)
 #endif
 
+static inline int task_current(struct rq *rq, struct task_struct *p)
+{
+   return rq-curr == p;
+}
+
 #ifndef __ARCH_WANT_UNLOCKED_CTXSW
 static inline int task_running(struct rq *rq, struct task_struct *p)
 {
-   return rq-curr == p;
+   return task_current(rq, p);
 }
 
 static inline void prepare_lock_switch(struct rq *rq, struct task_struct *next)
@@ -540,7 +545,7 @@ static inline int task_running(struct rq *rq, struct 
task_struct *p)
 #ifdef CONFIG_SMP
return p-oncpu;
 #else
-   return rq-curr == p;
+   return task_current(rq, p);
 #endif
 }
 
@@ -663,6 +668,7 @@ void sched_clock_idle_wakeup_event(u64 delta_ns)
struct rq *rq = cpu_rq(smp_processor_id());
u64 now = sched_clock();
 
+   touch_softlockup_watchdog();
rq-idle_clock += delta_ns;
/*
 * Override the previous timestamp and ignore all
@@ -3334,7 +3340,7 @@ unsigned long long task_sched_runtime(struct task_struct 
*p)
 
rq = task_rq_lock(p, flags);
ns = p-se.sum_exec_runtime;
-   if (rq-curr == p) {
+   if (task_current(rq, p)) {
update_rq_clock(rq);
delta_exec = rq-clock - p-se.exec_start;
if ((s64)delta_exec  0)
@@ -4021,7 +4027,7 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
 
oldprio = p-prio;
on_rq = p-se.on_rq;
-   running = task_running(rq, p);
+   running = task_current(rq, p);
if (on_rq) {
dequeue_task(rq, p, 0);
if (running)
@@ -4332,7 +4338,7 @@ recheck:
}
update_rq_clock(rq);
on_rq = p-se.on_rq;
-   running = task_running(rq, p);
+   running = task_current(rq, p);
if (on_rq) {
deactivate_task(rq, p, 0);
if (running)
@@ -7101,7 +7107,7 @@ void sched_move_task(struct task_struct *tsk)
 
update_rq_clock(rq);
 
-   running = task_running(rq, tsk);
+   running = task_current(rq, tsk);
on_rq = tsk-se.on_rq;
 
if (on_rq) {
diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
index c33f0ce..da7c061 100644
--- a/kernel/sched_fair.c
+++ b/kernel/sched_fair.c
@@ -511,8 +511,7 @@ place_entity(struct cfs_rq *cfs_rq, struct sched_entity 
*se, int initial)
 
if (!initial) {
/* sleeps upto a single latency don't count. */
-   if (sched_feat(NEW_FAIR_SLEEPERS)  entity_is_task(se) 
-   task_of(se)-policy != SCHED_BATCH)
+   if (sched_feat(NEW_FAIR_SLEEPERS)  entity_is_task(se))
vruntime -= sysctl_sched_latency;
 
/* ensure we never gain time by being placed backwards. */
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 1135de7..c68f68d 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -225,10 +225,10 @@ static struct ctl_table root_table[] = {
 };
 
 #ifdef CONFIG_SCHED_DEBUG
-static unsigned long min_sched_granularity_ns = 10;/* 100 
usecs */
-static unsigned long max_sched_granularity_ns = NSEC_PER_SEC;  /* 1 second */
-static unsigned long min_wakeup_granularity_ns;/* 0 
usecs */
-static unsigned long max_wakeup_granularity_ns = NSEC_PER_SEC; /* 1 

Re: Do not reset xfsquota flags on quotaless ro mount

2007-12-18 Thread David Chinner
On Tue, Dec 18, 2007 at 03:04:03PM +0100, Jan Engelhardt wrote:
 Hi,
 
 
 In https://bugzilla.novell.com/show_bug.cgi?id=345338 it is claimed that
 resetting the quota flags in the mounting sequence rw,ro,rw is a bug, but I

You mounted without quotas in the middle step, thereby invalidating
them.

 would say this is not the case, as quota is metadata, and the log is replayed
 in ro mode even for other filesystems. Yet, it is still not nice, and I have
 been trying with this patch, which does not do the right thing yet. (It does a
 recovery when mounting for the 3rd time, which probably just says that I did
 not know too much of xfs internals to cook up a nicely working patch.)
 Opinions?

Log recovery occurs on read only mounts. Log recovery on filesystems without
quota enabled ignores quota changes in the log (as quotas are not enabled
and hence we can't assume that there's dquots still on disk). Hence a
mount read only without quota enabled will leave quota inconsistent on disk.

i.e

   mount -o usrquota,grpquota /dev/mapper/myxfs /mnt
   umount /mnt
   mount -o ro /dev/mapper/myxfs /mnt

Quota is now potentially inconsistent, and hence:

   umount /mnt
   mount -o usrquota,grpquota /dev/mapper/myxfs /mnt

This mount *must* recalculate it. So, behaviour is as expected
given the above command sequence.

You should use this as the middle step:

mount -o ro,usrquota,grpquota /dev/mapper/myxfs /mnt

So that log replay replays all the journalled quota changes so
that the quota remains consistent with the rest of the filesystem.
Then you wont see a recalc when you remount rw.

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
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.24-rc5-mm 3/3] gpiolib: obsolete drivers/i2c/chips/pca9539.c

2007-12-18 Thread Jean Delvare
Hi Eric,

On Tue, 18 Dec 2007 09:54:42 +0800, eric miao wrote:
 Well, I guess it would be a smooth path if we rename the
 drivers/i2c/chips/pca9539.c
 since that's old style I2C driver, which means the driver name is not
 so useful external
 so the impact is actually minimum.

That's fine with me, just send me a patch.

-- 
Jean Delvare
--
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: Do not reset xfsquota flags on quotaless ro mount

2007-12-18 Thread Jan Engelhardt

On Dec 19 2007 01:38, David Chinner wrote:
 
 In https://bugzilla.novell.com/show_bug.cgi?id=345338 it is
 claimed that resetting the quota flags in the mounting sequence
 rw,ro,rw is a bug, but I would say this is not the case,

You mounted without quotas in the middle step, thereby invalidating
them.

That's clear to me, but according to the commenter, the filesystem is
in read-only mode (that is, if no recovery was necessary for the ro
mount), hence they should not be invalidated as they cannot change
anyway. Or can they?

--
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-rc5-mm1 -- INFO: possible circular locking dependency detected -- pm-suspend/5800 is trying to acquire lock

2007-12-18 Thread Johannes Berg

 Sorry.  GMail doesn't support sending unwrapped text, as far as I can
 tell.  I will send the log segment to you as an attachment.  Also,
 when I sent my .config inline to Andrew recently, it tripped his spam
 filter.  I'll attach it as well.

Thanks. This is a bug in iwlwifi.

The problem is actually another case where my workqueue debugging with
lockdep is triggering a warning :))

Here's the thing:

iwl3945_cancel_deferred_work does 

cancel_delayed_work_sync(priv-init_alive_start);

(which is the ((priv-init_alive_start)-work) lock)

but it is called from within a locked section of
mutex_lock(priv-mutex); (locked from iwl3945_pci_suspend)

On the other hand, the task that runs from the init_alive_start
workqueue is iwl3945_bg_init_alive_start() which will lock the same
mutex.

So the deadlock condition is that you can be in
cancel_delayed_work_sync() above while the mutex is locked, and be
waiting for iwl_3945_bg_init_alive_start() which tries to lock the
mutex.

johannes


signature.asc
Description: This is a digitally signed message part


Re: ip neigh show not showing arp cache entries?

2007-12-18 Thread Chris Friesen

Herbert Xu wrote:

Chris Friesen [EMAIL PROTECTED] wrote:

However, if I specifically try to print out one of the missing entries, 
it shows up:


[EMAIL PROTECTED]:/root /tmp/ip neigh show 192.168.24.81
192.168.24.81 dev bond2 lladdr 00:01:af:14:e9:8a REACHABLE



What about

ip -4 neigh show


Looks like that did it.  Why does specifying the family make a difference?

[EMAIL PROTECTED]:/root ip neigh show
10.41.18.1 dev eth6 lladdr 00:00:5e:00:01:01 STALE
172.24.137.0 dev bond0 lladdr 00:c0:8b:08:e4:88 REACHABLE
172.24.0.9 dev bond0 lladdr 00:07:e9:41:4b:b4 REACHABLE
10.41.18.101 dev eth6 lladdr 00:0e:0c:5e:95:bd REACHABLE
172.24.0.11 dev bond0 lladdr 00:03:cc:51:06:5e STALE
172.24.132.1 dev bond0 lladdr 00:01:af:14:e9:88 REACHABLE
172.24.0.15 dev bond0 lladdr 00:0e:0c:85:fd:d2 STALE
172.24.0.3 dev bond0 lladdr 00:01:af:14:c8:cc REACHABLE
172.24.0.5 dev bond0 lladdr 00:01:af:15:e0:6a STALE

[EMAIL PROTECTED]:/root ip -4 neigh show
192.168.24.81 dev bond2 lladdr 00:01:af:14:e9:8a REACHABLE
172.24.132.2 dev bond0  FAILED
172.24.136.0 dev bond0 lladdr 00:c0:8b:07:b3:7e REACHABLE
10.41.18.1 dev eth6 lladdr 00:00:5e:00:01:01 STALE
172.24.137.0 dev bond0 lladdr 00:c0:8b:08:e4:88 REACHABLE
172.24.0.9 dev bond0 lladdr 00:07:e9:41:4b:b4 REACHABLE
10.41.18.101 dev eth6 lladdr 00:0e:0c:5e:95:bd REACHABLE
172.24.0.11 dev bond0 lladdr 00:03:cc:51:06:5e STALE
172.24.132.1 dev bond0 lladdr 00:01:af:14:e9:88 REACHABLE
172.24.0.15 dev bond0 lladdr 00:0e:0c:85:fd:d2 STALE
172.24.0.3 dev bond0 lladdr 00:01:af:14:c8:cc REACHABLE
172.24.0.5 dev bond0 lladdr 00:01:af:15:e0:6a STALE

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/


[PATCH] msi: set 'En' bit of MSI Mapping Capability

2007-12-18 Thread peerchen
According to the HyperTransport spec, 'En' indicate if the MSI Mapping is 
active.
Set the 'En' bit when setup pci and add the quirk for some nvidia devices. 

The patch base on kernel 2.6.24-rc5

Signed-off-by: Andy Currid [EMAIL PROTECTED]
Signed-off-by: Peer Chen [EMAIL PROTECTED]

---
diff -uprN -X linux-2.6.24-rc5-vanilla/Documentation/dontdiff 
linux-2.6.24-rc5-vanilla/drivers/pci/probe.c 
linux-2.6.24-rc5/drivers/pci/probe.c
--- linux-2.6.24-rc5-vanilla/drivers/pci/probe.c2007-12-18 
14:35:46.0 -0500
+++ linux-2.6.24-rc5/drivers/pci/probe.c2007-12-18 16:28:29.0 
-0500
@@ -721,6 +721,9 @@ static int pci_setup_device(struct pci_d
 
/* Unknown power state */
dev-current_state = PCI_UNKNOWN;
+   
+   /* Enable HT MSI mapping */
+   ht_enable_msi_mapping(dev);
 
/* Early fixups, before probing the BARs */
pci_fixup_device(pci_fixup_early, dev);
diff -uprN -X linux-2.6.24-rc5-vanilla/Documentation/dontdiff 
linux-2.6.24-rc5-vanilla/drivers/pci/quirks.c 
linux-2.6.24-rc5/drivers/pci/quirks.c
--- linux-2.6.24-rc5-vanilla/drivers/pci/quirks.c   2007-12-18 
14:35:46.0 -0500
+++ linux-2.6.24-rc5/drivers/pci/quirks.c   2007-12-18 16:28:41.0 
-0500
@@ -1705,6 +1705,45 @@ static void __devinit quirk_nvidia_ck804
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_CK804_PCIE,
quirk_nvidia_ck804_msi_ht_cap);
 
+static void __devinit quirk_msi_ht_cap_disable(struct pci_dev *dev) {
+   struct pci_dev *host_bridge;
+   int pos, ttl = 48;
+
+   /* HT MSI mapping should be disabled on devices that are below
+* a non-Hypertransport host bridge. Locate the host bridge...
+*/
+
+   if ((host_bridge = pci_get_bus_and_slot(0, PCI_DEVFN(0,0))) == NULL) {
+   printk(KERN_WARNING
+PCI: quirk_msi_ht_cap_disable didn't locate host 
bridge\n);
+   return;
+   }
+
+   if ((pos = pci_find_ht_capability(host_bridge, HT_CAPTYPE_SLAVE)) != 0) 
{
+   /* Host bridge is to HT */
+   return;
+   }
+
+   /* Host bridge is not to HT, disable HT MSI mapping on this device */
+
+   pos = pci_find_ht_capability(dev, HT_CAPTYPE_MSI_MAPPING);
+   while (pos  ttl--) {
+   u8 flags;
+
+   if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, flags) == 0) 
{
+   printk(KERN_INFO PCI: Quirk disabling HT MSI mapping 
on %s\n,
+  pci_name(dev));
+
+   pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
+ flags  ~HT_MSI_FLAGS_ENABLE);
+   }
+   pos = pci_find_next_ht_capability(dev, pos,
+ HT_CAPTYPE_MSI_MAPPING);
+   }
+}
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
+   
quirk_msi_ht_cap_disable);
+
 static void __devinit quirk_msi_intx_disable_bug(struct pci_dev *dev)
 {
dev-dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG;
diff -uprN -X linux-2.6.24-rc5-vanilla/Documentation/dontdiff 
linux-2.6.24-rc5-vanilla/include/asm-generic/pci.h 
linux-2.6.24-rc5/include/asm-generic/pci.h
--- linux-2.6.24-rc5-vanilla/include/asm-generic/pci.h  2007-12-18 
14:35:52.0 -0500
+++ linux-2.6.24-rc5/include/asm-generic/pci.h  2007-12-18 16:29:12.0 
-0500
@@ -45,6 +45,10 @@ pcibios_select_root(struct pci_dev *pdev
 
 #define pcibios_scan_all_fns(a, b) 0
 
+#ifndef HAVE_ARCH_HT_ENABLE_MSI_MAPPING
+#define ht_enable_msi_mapping(a)   0
+#endif /* HAVE_ARCH_HT_ENABLE_MSI_MAPPING */
+
 #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ
 static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
 {
diff -uprN -X linux-2.6.24-rc5-vanilla/Documentation/dontdiff 
linux-2.6.24-rc5-vanilla/include/asm-x86/pci.h 
linux-2.6.24-rc5/include/asm-x86/pci.h
--- linux-2.6.24-rc5-vanilla/include/asm-x86/pci.h  2007-12-18 
14:35:51.0 -0500
+++ linux-2.6.24-rc5/include/asm-x86/pci.h  2007-12-18 16:28:58.0 
-0500
@@ -75,6 +75,27 @@ static inline void pci_dma_burst_advice(
 }
 #endif
 
+#ifdef CONFIG_PCI
+#define HAVE_ARCH_HT_ENABLE_MSI_MAPPING
+static inline void ht_enable_msi_mapping(struct pci_dev *dev)
+{
+   int pos, ttl = 48;
+
+   pos = pci_find_ht_capability(dev, HT_CAPTYPE_MSI_MAPPING);
+   while (pos  ttl--) {
+   u8 flags;
+
+   if (pci_read_config_byte(dev, pos + HT_MSI_FLAGS, flags) == 0) 
{
+   printk(KERN_INFO PCI: Enabling HT MSI Mapping on %s\n,
+   dev-dev.bus_id);
+
+   pci_write_config_byte(dev, pos + HT_MSI_FLAGS,
+ flags | HT_MSI_FLAGS_ENABLE);
+   }
+   pos = pci_find_next_ht_capability(dev, pos, 

Re: About mounting the sysfs

2007-12-18 Thread Zhanhua
2007/12/18, Jan Engelhardt [EMAIL PROTECTED]:

 On Dec 18 2007 15:10, wit wrote:
 
 1. What is the d_alloc_root used for? Actually, the question should
 be: why we have to call d_alloc_root.

 I think the root already has its dentry,

 It does not.
There's no dentry for the /? I mean the rootfs.


 why we have to allocate another while we mounting a file
 system?
 
 2. Why we call d_alloc_root to allocate a dentry for the mount point
 while the usual mount point of sysfs is defined by the user (something
 like /sysfs but not /).

 /sys is a dentry that belongs to the / vfsmount, but we need a
 / that belongs to the whatever you are going to mount vfsmount.

Why we need such a vfsmount (for the /, not the rootfs)? And where
we store the mount point info (path) when mount_root, s_root and the
mnt_mountpoint are all points to the / which is allocated by
d_alloc_root? Or do we have to store such info? Why?


  See below:
root = d_alloc_root(inode);
if (!root) {
pr_debug(%s: could not get root dentry!\n,__FUNCTION__);
iput(inode);
return -ENOMEM;
}
root-d_fsdata = sysfs_root;
sb-s_root = root;
 
 does this means settting the sysfs' mount point to / but not /sysfs.

--
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/RFC] [POWERPC] Add fixed-phy support for fs_enet

2007-12-18 Thread Vitaly Bordug
On Mon, 17 Dec 2007 18:20:14 -0500
Jeff Garzik wrote:

 Jochen Friedrich wrote:
  This patch adds support to use the fixed-link property
  of an ethernet node to fs_enet for the
  CONFIG_PPC_CPM_NEW_BINDING case.
  
  Signed-off-by: Jochen Friedrich [EMAIL PROTECTED]
Acked-by: Vitaly Bordug [EMAIL PROTECTED]

Jochen,
will you resend the patch with all acks to paulus? I'll do that if not.


-- 
Sincerely, Vitaly
--
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] MAINTAINERS: remove Adam Fritzler, update his email address in other sources

2007-12-18 Thread Arjan van de Ven
On Mon, 17 Dec 2007 20:28:00 -0800
Andrew Morton [EMAIL PROTECTED] wrote:
 
 
 btw, I cheerfully skipped all your spelling-fixes patches.  Some will
 have stuck via subsystem maintainers but I have a secret no spelling
 fixes unless they're end-user-visible policy.  That means I'll take
 spelling fixes only if they're in printks or in Documentation/*.
 This is a little defense mechanism to avoid getting buried in
 micropatches.
 

for something more productive.. add an aspell/ispell hook to checkpatch.pl ;-)



-- 
If you want to reach me at my work email, use [EMAIL PROTECTED]
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org
--
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.24-rc5-mm1 - IPv6 throws section mismatches.

2007-12-18 Thread Valdis . Kletnieks
On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:
 ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/

git-net.patch (I'm guessing one of Daniel's commits, but not sure which one)
causes some complaints:
 
  LD  vmlinux.o
  MODPOST vmlinux.o
WARNING: vmlinux.o(.init.text+0x2263f): Section mismatch: reference to 
.exit.text:tcpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22644): Section mismatch: reference to 
.exit.text:udplitev6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22649): Section mismatch: reference to 
.exit.text:udpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22658): Section mismatch: reference to 
.exit.text:addrconf_cleanup (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x226bc): Section mismatch: reference to 
.exit.text:rawv6_exit (between 'inet6_init' and 'ac6_proc_init')

Looks like the problem is that tcpv6_exit and friends are called from
net/ipv6/af_inet6.c:inet6_init() - which is declared as:

static int __init inet6_init(void)

I can see how calling an __exit from an __init would be Bad Juju...



pgp060vJhETGy.pgp
Description: PGP signature


Re: 2.6.24-rc5-mm1 - wonky disk cache and CDROM behavior...

2007-12-18 Thread Valdis . Kletnieks
(Adding Dave Howells, his name is on 
iget-stop-isofs-from-using-read_inode.patch)

On Tue, 18 Dec 2007 10:37:32 +0800, Dave Young said:

  I don't mind it failing the mount, but the oops seems excessive.  I suspect
  that *somewhere* in that stack trace, we're wanting something like a
  
  if (!foo_ptr)
  return -EIO;
  
  but I admit not being competent enough to decide where that should be.
  
 
 Hi,
 Could you please try the below patch:
 
 Signed-off-by: Dave Young [EMAIL PROTECTED] 
 
 ---
 fs/isofs/inode.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

With that patch applied, I took the ISO image (which I ended up reading on
another machine and copying over the net to get a complete usable image),
and dd'ed just the first 150M into another file, and tried to loopback mount
it.  And I got:

# mount -o ro,loop /path/to/cd.partial.image /mnt/loop
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail  or so

And my dmesg says:

[   33.622073] ISO 9660 Extensions: Microsoft Joliet Level 3
[   33.622125] attempt to access beyond end of device
[   33.622129] loop0: rw=0, want=1284500, limit=30
[   33.622133] ISOFS: unable to read i-node block
Here is where we would oops before - now it errors out more reasonably:
[   33.622140] ISOFS: changing to secondary root
[   33.622148] attempt to access beyond end of device
[   33.622151] loop0: rw=0, want=1284508, limit=30
[   33.622155] ISOFS: unable to read i-node block
[   33.622159] isofs_fill_super: get root inode failed

So that fixes *this* bug. I looked in the -rc5-mm1 broken-out/, saw
the vast multitudes of 'iget-stop-foofs-from-using' patches, and decided
that somebody else will probably have to audit them for sanity.

In the iget-* series, there's some 184 'return ERR_PTR(-EFOO);' for some FOO,
and 3 other uses:

% grep ERR_PTR iget* | grep -v return
iget-stop-isofs-from-using-read_inode.patch:+   inode = 
ERR_PTR(ret);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:+parent 
= ERR_PTR(-ENOMEM);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:-parent 
= ERR_PTR(-EACCES);
iget-stop-jfs-from-using-iget-and-read_inode-try.patch:-parent 
= ERR_PTR(-ENOMEM);

isofs is the only place we don't return a constant 'ERR_PTR(-EFOO)', but
cast somebody else's return value.  I wish I understood what that tells us. ;)




pgppwUchT0vXx.pgp
Description: PGP signature


Re: 2.6.24-rc5-mm1 - IPv6 throws section mismatches.

2007-12-18 Thread Daniel Lezcano

[EMAIL PROTECTED] wrote:

On Thu, 13 Dec 2007 02:40:50 PST, Andrew Morton said:

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc5/2.6.24-rc5-mm1/


git-net.patch (I'm guessing one of Daniel's commits, but not sure which one)
causes some complaints:

  LD  vmlinux.o
  MODPOST vmlinux.o
WARNING: vmlinux.o(.init.text+0x2263f): Section mismatch: reference to 
.exit.text:tcpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22644): Section mismatch: reference to 
.exit.text:udplitev6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22649): Section mismatch: reference to 
.exit.text:udpv6_exit (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x22658): Section mismatch: reference to 
.exit.text:addrconf_cleanup (between 'inet6_init' and 'ac6_proc_init')
WARNING: vmlinux.o(.init.text+0x226bc): Section mismatch: reference to 
.exit.text:rawv6_exit (between 'inet6_init' and 'ac6_proc_init')

Looks like the problem is that tcpv6_exit and friends are called from
net/ipv6/af_inet6.c:inet6_init() - which is declared as:

static int __init inet6_init(void)

I can see how calling an __exit from an __init would be Bad Juju...



Yep, thanks Valdis for pointing that.

I sent a patch several days ago which fix that to DaveM and he applied 
it to the latest net-2.6.25


--






















































Sauf indication contraire ci-dessus:
Compagnie IBM France
Siège Social : Tour Descartes, 2, avenue Gambetta, La Défense 5, 92400
Courbevoie
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 542.737.118 ?
SIREN/SIRET : 552 118 465 02430
--
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: cpuinfo_cur_freq always max

2007-12-18 Thread Stephen Clark

Johannes Weiner wrote:


Hi,

Stephen Clark [EMAIL PROTECTED] writes:

 


Which governor are you using?  ondemand?
 


Not sure - but the only thing that is changed is the kernel - if I go
back to 2.6.23.1 it works correctly.
   



Have a look at /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Hannes

PS: Steve, please keep the list in CC.

 


userspace



--

They that give up essential liberty to obtain temporary safety, 
deserve neither liberty nor safety.  (Ben Franklin)


The course of history shows that as a government grows, liberty 
decreases.  (Thomas Jefferson)




--
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: Important regression with XFS update for 2.6.24-rc6

2007-12-18 Thread David Chinner
On Tue, Dec 18, 2007 at 03:30:31PM +0100, Damien Wyart wrote:
 * David Chinner [EMAIL PROTECTED] [071218 13:24]:
  Ok. I haven't noticed anything wrong with directories up to about
  250,000 files in the last few days. The ls -l I just did on
  a directory with 15000 entries (btree format) used about 5MB of RAM.
  extent format directories appear to work fine as well (tested 500
  entries).
 
 Ok, nice to know the problem is not so frequent.

.

 I have put the files at http://damien.wyart.free.fr/xfs/
 
 strace_xfs_problem.1.gz and strace_xfs_problem.2.gz have been created
 with the problematic kernel, and are quite bigger than
 strace_xfs_problem.normal.gz, which has been created with the vanilla
 rc5-git5. There is also xfs_info.

Looks like several getdents() through the directory the getdents()
call starts outputting the first files again. It gets to a certain
point and always goes back to the beginning. However, it appears to
get to the end eventually (without ever getting past the bad offset).

I'll ook into this more in the morning as it's not obvious what is
wrong in my sleep-deprived state

Cheers,

Dave.
-- 
Dave Chinner
Principal Engineer
SGI Australian Software Group
--
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] [RFC] Simple tamper-proof device filesystem.

2007-12-18 Thread AstralStorm
On Mon, 17 Dec 2007 16:05:31 +0300
Al Boldi [EMAIL PROTECTED] wrote:

 Indan Zupancic wrote:
  On Mon, December 17, 2007 01:40, Tetsuo Handa wrote:
  I think you can better spend your time on read-only bind mounts.
 
 That would be too coarse.
 

Actually, who needs to create device nodes? Just prohibit everyone from
creating them, except installer and udev personality.
This means removing CAP_MKNOD on a global scale.
(OTOH, both don't need CAP_SYS_ADMIN. Maybe udev needs
CAP_SYS_MODULE...)

Now, stopping people from faking hotplug events is totally another
story. Is that currently possible?


signature.asc
Description: PGP signature


  1   2   3   4   5   6   7   8   9   >