Re: [Lse-tech] LTP-Nightly bk test

From: Andrew Morton (akpm@zip.com.au)
Date: Mon Aug 19 2002 - 13:06:04 EST


Paul Larson wrote:
>
> On Mon, 2002-08-19 at 11:50, Martin J. Bligh wrote:
> > > page allocation failure. order:0, mode:0x50
> > >
> > > The test was: 'mtest01 -p80 -w' which will essentially allocate up to
> > > 80% of the memory and write to it. I'll keep pounding on it with LTP to
> > > see if I can reproduce the swap.c:80 oops.
> >
> > I think akpm posted a patch for similar mem exhaustion a few days ago,
> > but I can't find it at the moment. Would be interesting to see what
> > /proc/meminfo and /proc/slabinfo look like as you march to your death ;-)
> Anyone know where to find that patch? I'll look at doing this again
> while grabbing those files periodically. I ran this again though and
> got a different error:
>
> kernel BUG at page_alloc.c:97!

It's hard to tell where this is coming from. Please quote
line 97 of page_alloc.c?

For the page allocation failures you'll probably need this, which
makes block-highmem work again.

--- 2.5.31/drivers/scsi/scsi_scan.c~scsi_hack Sat Aug 17 02:43:05 2002
+++ 2.5.31-akpm/drivers/scsi/scsi_scan.c Sat Aug 17 02:43:07 2002
@@ -1379,6 +1379,12 @@ static int scsi_add_lun(Scsi_Device *sde
                 printk(KERN_INFO "scsi: unknown device type %d\n", sdev->type);
         }
 
+ /*
+ * scsi_alloc_sdev did this, but do it again because we can now set
+ * the bounce limit because the device type is known
+ */
+ scsi_initialize_merge_fn(sdev);
+
         sdev->random = (sdev->type == TYPE_TAPE) ? 0 : 1;
 
         print_inquiry(inq_result);

.

If your machine is uniprocessor (?) you'll need this:

--- 2.5.31/mm/vmscan.c~pte-chain-fix Sun Aug 18 19:38:15 2002
+++ 2.5.31-akpm/mm/vmscan.c Sun Aug 18 19:38:37 2002
@@ -398,10 +398,7 @@ static /* inline */ void refill_inactive
                 page = list_entry(l_hold.prev, struct page, lru);
                 list_del(&page->lru);
                 if (page->pte.chain) {
- if (test_and_set_bit(PG_chainlock, &page->flags)) {
- list_add(&page->lru, &l_active);
- continue;
- }
+ pte_chain_lock(page);
                         if (page->pte.chain && page_referenced(page)) {
                                 pte_chain_unlock(page);
                                 list_add(&page->lru, &l_active);

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



This archive was generated by hypermail 2b29 : Fri Aug 23 2002 - 22:00:17 EST