From: Mel Gorman <mel@csn.ul.ie>
To: Frans Pop <elendil@planet.nl>
Cc: David Rientjes <rientjes@google.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Kernel Testers List <kernel-testers@vger.kernel.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Reinette Chatre <reinette.chatre@intel.com>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Karol Lewandowski <karol.k.lewandowski@gmail.com>,
Mohamed Abbas <mohamed.abbas@intel.com>,
"John W. Linville" <linville@tuxdriver.com>,
linux-mm@kvack.org
Subject: Re: [Bug #14141] order 2 page allocation failures in iwlagn
Date: Wed, 14 Oct 2009 16:40:26 +0100 [thread overview]
Message-ID: <20091014154026.GC5027@csn.ul.ie> (raw)
In-Reply-To: <200910141510.11059.elendil@planet.nl>
On Wed, Oct 14, 2009 at 03:10:08PM +0200, Frans Pop wrote:
> On Wednesday 14 October 2009, Mel Gorman wrote:
> > I think this is very significant. Either that change needs to be backed
> > out or more likely, __GFP_NOWARN needs to be specified and warnings
> > *only* printed when the RX buffers are really low. My expectation would
> > be that some GFP_ATOMIC allocations fail during refill but the fact they
> > fail wakes kswapd to reclaim order-2 pages while the RX buffers in the
> > pool are consumed.
>
> Sorry I did not actually mention this, but the SKB failures I get with .32
> have loads of the "Failed to allocate SKB buffer with GFP_ATOMIC. Only 0
> free buffers remaining." errors. That's why I don't think your patch will
> help anything.
>
> zgrep "Only 0 free buffers remaining" /var/log/kern.log* | wc -l
> 84
>
> OK, they are all GPF_ATOMIC and not GPF_KERNEL, but they also almost all
> have "0 free buffers"! Next to the 84 warnings for 0 remaining I only have
> one with "3 free buffers" and one with "1 free buffers".
>
This is fairly important. It shows that the refills are not keeping up
with the GFP_ATOMIC usage. I'm not sure what to do with this. As the
driver introduced GFP_ATOMIC usage at all, I'm tempted to say revert the
changes in the driver that makes use of GFP_ATOMIC but I'm not the
maintainer. They could also consider having a GFP_ATOMIC-optimistic,
GFP_KERNEL-if-no-buffers-free-and-directly-allocating with GFP_KERNEL
refills always happening in the tasklet.
However, it might be just avoiding the MM problem on my part. It's possible
that if I figure out what went wrong in mm and drivers use of GFP_ATOMIC
will be swept under the carpet.
> And that does not even count the rate limitting:
> Oct 12 20:15:07 aragorn kernel: __ratelimit: 45 callbacks suppressed
> Oct 12 20:25:19 aragorn kernel: __ratelimit: 27 callbacks suppressed
> Oct 12 20:25:20 aragorn kernel: __ratelimit: 2 callbacks suppressed
>
> Attached the kernel log for one test I did with .32.
>
> > > In both cases I no longer get SKB errors, but instead (?) I get
> > > firmware errors:
> > > iwlagn 0000:10:00.0: Microcode SW error detected. Restarting
> > > 0x2000000.
> >
> > I am no wireless expert, but that looks like an separate problem to me.
> > I don't see how an allocation failure could trigger errors in the
> > microcode.
>
> Yes, it is a separate problem, but it is still significant that reverting
> that patch triggers them in the extreme swap situation.
>
True.
> > > With your patch on .32-rc4 I still get the SKB errors, so it does not
> > > seem to help. The only change there may have been is that the desktop
> > > was frozen longer than without the patch, but that is an impression,
> > > not a hard fact.
> >
> > Actually, that's fairly interesting and I think justifies pushing the
> > patch. Direct reclaim can stall processes in a user-visible manner which
> > kswapd is meant to avoid in the majority of cases but is tricky to
> > quantify without instrumenting the kernel to measure direct reclaim
> > frequency and latency (I have WIP tracepoints for this but it's still a
> > WIP). If you notice shorter stalls with the patch applied, it means that
> > kswapd really did need to be informed of the problems.
>
> No, I thought I saw _longer_ stalls with your patch applied...
>
Sorry, I misinterpreted. If the stalls are longer, it likely means that
kswapd is doing more work and causing more IO when applied as it tries to
get order-2 pages free. You said you still got SKB errors. Were there any
significant change to the number of failures or can that be told?
> > There still has not been a mm-change identified that makes fragmentation
> > significantly worse.
>
> My bisection shows a very clear point, even if not an individual commit, in
> the 'akpm' merge where SKB errors suddenly become *much* more frequent and
> easy to trigger.
> I'm sorry to say this, but the fact that nothing has been identified yet is
> IMO the result of a lack of effort, not because there is no such change.
>
I apologise if I've given that impression. I've been starting at the commits
but could not find an obvious candidate within the page allocator itself which
is why I've been looking at other areas. I put together a hack that allocated
order-2 atomics at a constant rate and order-5 atomics at a lower rate to
try replicate the problem without drivers. I ran some workloads but I wasn't
able to get reliable figures that would have allowed me to investigate further.
> > The majority of the wireless reports have been in
> > this driver and I think we have the problem commit there. The only other
> > is a firmware loading problem in e100 after resume that fails to make an
> > atomic order-5 fail.
>
> Not exactly true. Bartlomiej's report was about ipw2200, so there are at
> least 3 different drivers involved, two wireless and one wired. Besides
> that one report is related to heavy swap, one to resume and one to driver
> reload.
> So it's much more likely that there is some common regression (in mm) that
> affected all three than that there are three unrelated regressions.
Very very likely, I'm not denying this.
> And although both of the others did extremely high allocations, they both
> started appearing in the same timeframe. And Bart's very first report
> linked it to mm changes.
>
> > It's possible that something has changed in resume
> > in the 2.6.31 window there - maybe something like drivers now reload
> > during resume where they didn't previously or less memory being pushed
> > to swap during resume.
>
> IMO you're sticking your head in the sand here.
No. If I was sticking my head in the sand, I would have dismissed this
entirely as "GFP_ATOMIC allocations can fail boo hoo hoo deal with it".
What I'm trying to identify what changed that would affect fragmentation
but that is not within the page allocator itself - largely because with
the exception of the patch I gave you, I couldn't find obvious breakage.
You highlighted the first akpm merge so lets look closer at that as I don't
think there is anything more I can do with the wireless driver other than the
suggestions made already. I looked at this already but I felt fixing GFP_ATOMIC
in wireless was the more likely fix.
Here is what you said about the merge.
====
For a good overview of the area, use 'gitk f83b1e61..517d0869'.
v2.6.30-5466-ga1dd268 mm: use alloc_pages_exact in alloc_large_system_hash
2.3 +-
v2.6.30-5478-ge9bb35d mm: setup_per_zone_inactive_ratio - fix comment and..
2.5 +-
v2.6.30-5486-g35282a2 migration: only migrate_prep() once per move_pages()
2.6 -|+|- not quite conclusive...
v2.6.30-5492-gbce7394 page-allocator: reset wmark_min and inactive ratio..
2.4 -|-
====
This is what I found. The following were the possible commits that might
be causing the problem.
d239171..72807a7 -- page allocator
These are the bulk of the page-allocator changes that happened int
the 2.6.30..2.6.31 cycle. It's also the location of the change to
kswapd that I sent you a patch for. If there was a marked increase
in the number of failures before and after this patchset, it means
that I was wrong about the problem not being in the page allocator
and I have to go back and keep looking. However, you report that
commit e9bb35d mm: setup_per_zone_inactive_ratio - fix comment
had relatively good results - relatively being that it didn't fail
on the first try. In my head, these patches have been struck off the
list of possibilities and is why I've been looking in other subsystems.
56e49d2..f166777 -- reclaim
I would have considered this strong candidates except again, the last
good commit happened after this point. If other obvious candidates
don't crop up, it might be worth double checking within this range, particularly
commit 56e49d2 vmscan: evict use-once pages first
as it is targeted at streaming-IO workloads which would include
your music workload. This commit also will cleanly revert on
mainline so is relatively easy to test
5c87ead..e9bb35d -- inactive ratio changes
These patches should be harmless but just in case, please
compare the output of
# grep inactive_ratio /proc/zoneinfo
on 2.6.30 and 2.6.31 and make sure the ratios are the same.
e9bb35d..bce7394 -- various changes
According to your analysis, this is the most likely location of
the problem commit.
Commit b70d94e altered how zonelists were selected during
allocation. This was tested fairly heavily but if the testing
missed something, it would mean that some allocations are not
using the zones they should be. However, my expectation would
be that mistakes here would have severe consequences affecting a
large number of people. This does not revert cleanly but there is
an untested patch below that should do the job. While it's hard to
imagine this patch being the problem, it's the most likely commit
with the range of commits your analysis identified.
Commit bc75d33 is totally harmless but it mentions min_free_kbytes. I
checked on my machine to make sure min_free_kbytes was the same on both
2.6.30 and 2.6.31. Can you check that this is true for your machine? If
min_free_kbytes decreased, it could explain GFP_ATOMIC failures.
An extremely unlikely candidate is 75927af8. For this to be a problem,
much of your userspace would have to be calling madvise() with
stupid parameters and depending on it silently ignore the
parameters
A vague potential candidate for swapless systems is 69c85481 but
your machine has swap so it can't be this.
Commit bce7394 affects min_free_kbytes but only on hotplug so it
can't be this either for your machine
After this point, your analysis indicates that things are already broken
but lets look at some of the candidates anyway. Out of curiousity,
was CONFIG_UNEVICTABLE_LRU unset in your .config for 2.6.30? I could
only find your 2.6.31 .config. If it was, it might be worth reverting
6837765963f1723e80ca97b1fae660f3a60d77df and unsetting it in 2.6.31 and
seeing what happens.
Commit 8cab4754d24a0f2e05920170c845bd84472814c6 keeps pages on the active
lists for longer than 2.6.30 did. It's possible the fewer reclaim decisions
is delaying lumpy reclaim.
CONFIG_NUMA is not set in your config, so the zone_reclaim() changes
around 24cf72518c79cdcda486ed26074ff8151291cf65 can be discounted.
Commit ee993b135ec75a93bd5c45e636bb210d2975159b altered how lumpy
reclaim works but it should have been harmless. It does not cleanly
revert but it's easy to manually revert.
I didn't spot any other patches that might be potential problems in the
commits.
> I'm not saying that mm is the only issue here, but I'm convinced that there
> _is_ an mm change that has contributed in a major way to these issues,
> even if we've not yet been able to identify it.
>
> > - net_ratelimit())
> > + net_ratelimit()) {
> > IWL_CRIT(priv, "Failed to allocate SKB buffer with %s. Only %u free
> > buffers remaining.\n", priority == GFP_ATOMIC ? "GFP_ATOMIC" :
> > "GFP_KERNEL",
>
> Haven't you broken the test 'priority == GFP_ATOMIC' here by setting
> priority to GFP_ATOMIC|__GFP_NOWARN?
>
Yes, I did, but as you say that this error message is showing up and buffers
are all depleted, it's not even close to being the right fix. It'd only
be relevant if that error message was showing up with buffers remaining in
the queue.
Revert commit b70d94ee
---
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 557bdad..3a94e4b 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -21,8 +21,7 @@ struct vm_area_struct;
#define __GFP_DMA ((__force gfp_t)0x01u)
#define __GFP_HIGHMEM ((__force gfp_t)0x02u)
#define __GFP_DMA32 ((__force gfp_t)0x04u)
-#define __GFP_MOVABLE ((__force gfp_t)0x08u) /* Page is movable */
-#define GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE)
+
/*
* Action modifiers - doesn't change the zoning
*
@@ -52,6 +51,7 @@ struct vm_area_struct;
#define __GFP_HARDWALL ((__force gfp_t)0x20000u) /* Enforce hardwall cpuset memory allocs */
#define __GFP_THISNODE ((__force gfp_t)0x40000u)/* No fallback, no policies */
#define __GFP_RECLAIMABLE ((__force gfp_t)0x80000u) /* Page is reclaimable */
+#define __GFP_MOVABLE ((__force gfp_t)0x100000u) /* Page is movable */
#ifdef CONFIG_KMEMCHECK
#define __GFP_NOTRACK ((__force gfp_t)0x200000u) /* Don't track with kmemcheck */
@@ -128,105 +128,24 @@ static inline int allocflags_to_migratetype(gfp_t gfp_flags)
((gfp_flags & __GFP_RECLAIMABLE) != 0);
}
-#ifdef CONFIG_HIGHMEM
-#define OPT_ZONE_HIGHMEM ZONE_HIGHMEM
-#else
-#define OPT_ZONE_HIGHMEM ZONE_NORMAL
-#endif
-
+static inline enum zone_type gfp_zone(gfp_t flags)
+{
#ifdef CONFIG_ZONE_DMA
-#define OPT_ZONE_DMA ZONE_DMA
-#else
-#define OPT_ZONE_DMA ZONE_NORMAL
+ if (flags & __GFP_DMA)
+ return ZONE_DMA;
#endif
-
#ifdef CONFIG_ZONE_DMA32
-#define OPT_ZONE_DMA32 ZONE_DMA32
-#else
-#define OPT_ZONE_DMA32 ZONE_NORMAL
-#endif
-
-/*
- * GFP_ZONE_TABLE is a word size bitstring that is used for looking up the
- * zone to use given the lowest 4 bits of gfp_t. Entries are ZONE_SHIFT long
- * and there are 16 of them to cover all possible combinations of
- * __GFP_DMA, __GFP_DMA32, __GFP_MOVABLE and __GFP_HIGHMEM
- *
- * The zone fallback order is MOVABLE=>HIGHMEM=>NORMAL=>DMA32=>DMA.
- * But GFP_MOVABLE is not only a zone specifier but also an allocation
- * policy. Therefore __GFP_MOVABLE plus another zone selector is valid.
- * Only 1bit of the lowest 3 bit (DMA,DMA32,HIGHMEM) can be set to "1".
- *
- * bit result
- * =================
- * 0x0 => NORMAL
- * 0x1 => DMA or NORMAL
- * 0x2 => HIGHMEM or NORMAL
- * 0x3 => BAD (DMA+HIGHMEM)
- * 0x4 => DMA32 or DMA or NORMAL
- * 0x5 => BAD (DMA+DMA32)
- * 0x6 => BAD (HIGHMEM+DMA32)
- * 0x7 => BAD (HIGHMEM+DMA32+DMA)
- * 0x8 => NORMAL (MOVABLE+0)
- * 0x9 => DMA or NORMAL (MOVABLE+DMA)
- * 0xa => MOVABLE (Movable is valid only if HIGHMEM is set too)
- * 0xb => BAD (MOVABLE+HIGHMEM+DMA)
- * 0xc => DMA32 (MOVABLE+HIGHMEM+DMA32)
- * 0xd => BAD (MOVABLE+DMA32+DMA)
- * 0xe => BAD (MOVABLE+DMA32+HIGHMEM)
- * 0xf => BAD (MOVABLE+DMA32+HIGHMEM+DMA)
- *
- * ZONES_SHIFT must be <= 2 on 32 bit platforms.
- */
-
-#if 16 * ZONES_SHIFT > BITS_PER_LONG
-#error ZONES_SHIFT too large to create GFP_ZONE_TABLE integer
+ if (flags & __GFP_DMA32)
+ return ZONE_DMA32;
#endif
-
-#define GFP_ZONE_TABLE ( \
- (ZONE_NORMAL << 0 * ZONES_SHIFT) \
- | (OPT_ZONE_DMA << __GFP_DMA * ZONES_SHIFT) \
- | (OPT_ZONE_HIGHMEM << __GFP_HIGHMEM * ZONES_SHIFT) \
- | (OPT_ZONE_DMA32 << __GFP_DMA32 * ZONES_SHIFT) \
- | (ZONE_NORMAL << __GFP_MOVABLE * ZONES_SHIFT) \
- | (OPT_ZONE_DMA << (__GFP_MOVABLE | __GFP_DMA) * ZONES_SHIFT) \
- | (ZONE_MOVABLE << (__GFP_MOVABLE | __GFP_HIGHMEM) * ZONES_SHIFT)\
- | (OPT_ZONE_DMA32 << (__GFP_MOVABLE | __GFP_DMA32) * ZONES_SHIFT)\
-)
-
-/*
- * GFP_ZONE_BAD is a bitmap for all combination of __GFP_DMA, __GFP_DMA32
- * __GFP_HIGHMEM and __GFP_MOVABLE that are not permitted. One flag per
- * entry starting with bit 0. Bit is set if the combination is not
- * allowed.
- */
-#define GFP_ZONE_BAD ( \
- 1 << (__GFP_DMA | __GFP_HIGHMEM) \
- | 1 << (__GFP_DMA | __GFP_DMA32) \
- | 1 << (__GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_MOVABLE | __GFP_HIGHMEM | __GFP_DMA) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_DMA) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_DMA | __GFP_HIGHMEM)\
-)
-
-static inline enum zone_type gfp_zone(gfp_t flags)
-{
- enum zone_type z;
- int bit = flags & GFP_ZONEMASK;
-
- z = (GFP_ZONE_TABLE >> (bit * ZONES_SHIFT)) &
- ((1 << ZONES_SHIFT) - 1);
-
- if (__builtin_constant_p(bit))
- MAYBE_BUILD_BUG_ON((GFP_ZONE_BAD >> bit) & 1);
- else {
-#ifdef CONFIG_DEBUG_VM
- BUG_ON((GFP_ZONE_BAD >> bit) & 1);
+ if ((flags & (__GFP_HIGHMEM | __GFP_MOVABLE)) ==
+ (__GFP_HIGHMEM | __GFP_MOVABLE))
+ return ZONE_MOVABLE;
+#ifdef CONFIG_HIGHMEM
+ if (flags & __GFP_HIGHMEM)
+ return ZONE_HIGHMEM;
#endif
- }
- return z;
+ return ZONE_NORMAL;
}
/*
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mel@csn.ul.ie>
To: Frans Pop <elendil@planet.nl>
Cc: David Rientjes <rientjes@google.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Kernel Testers List <kernel-testers@vger.kernel.org>,
Pekka Enberg <penberg@cs.helsinki.fi>,
Reinette Chatre <reinette.chatre@intel.com>,
Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
Karol Lewandowski <karol.k.lewandowski@gmail.com>,
Mohamed Abbas <mohamed.abbas@intel.com>,
"John W. Linville" <linville@tuxdriver.com>,
linux-mm@kvack.org
Subject: Re: [Bug #14141] order 2 page allocation failures in iwlagn
Date: Wed, 14 Oct 2009 16:40:26 +0100 [thread overview]
Message-ID: <20091014154026.GC5027@csn.ul.ie> (raw)
In-Reply-To: <200910141510.11059.elendil@planet.nl>
On Wed, Oct 14, 2009 at 03:10:08PM +0200, Frans Pop wrote:
> On Wednesday 14 October 2009, Mel Gorman wrote:
> > I think this is very significant. Either that change needs to be backed
> > out or more likely, __GFP_NOWARN needs to be specified and warnings
> > *only* printed when the RX buffers are really low. My expectation would
> > be that some GFP_ATOMIC allocations fail during refill but the fact they
> > fail wakes kswapd to reclaim order-2 pages while the RX buffers in the
> > pool are consumed.
>
> Sorry I did not actually mention this, but the SKB failures I get with .32
> have loads of the "Failed to allocate SKB buffer with GFP_ATOMIC. Only 0
> free buffers remaining." errors. That's why I don't think your patch will
> help anything.
>
> zgrep "Only 0 free buffers remaining" /var/log/kern.log* | wc -l
> 84
>
> OK, they are all GPF_ATOMIC and not GPF_KERNEL, but they also almost all
> have "0 free buffers"! Next to the 84 warnings for 0 remaining I only have
> one with "3 free buffers" and one with "1 free buffers".
>
This is fairly important. It shows that the refills are not keeping up
with the GFP_ATOMIC usage. I'm not sure what to do with this. As the
driver introduced GFP_ATOMIC usage at all, I'm tempted to say revert the
changes in the driver that makes use of GFP_ATOMIC but I'm not the
maintainer. They could also consider having a GFP_ATOMIC-optimistic,
GFP_KERNEL-if-no-buffers-free-and-directly-allocating with GFP_KERNEL
refills always happening in the tasklet.
However, it might be just avoiding the MM problem on my part. It's possible
that if I figure out what went wrong in mm and drivers use of GFP_ATOMIC
will be swept under the carpet.
> And that does not even count the rate limitting:
> Oct 12 20:15:07 aragorn kernel: __ratelimit: 45 callbacks suppressed
> Oct 12 20:25:19 aragorn kernel: __ratelimit: 27 callbacks suppressed
> Oct 12 20:25:20 aragorn kernel: __ratelimit: 2 callbacks suppressed
>
> Attached the kernel log for one test I did with .32.
>
> > > In both cases I no longer get SKB errors, but instead (?) I get
> > > firmware errors:
> > > iwlagn 0000:10:00.0: Microcode SW error detected. Restarting
> > > 0x2000000.
> >
> > I am no wireless expert, but that looks like an separate problem to me.
> > I don't see how an allocation failure could trigger errors in the
> > microcode.
>
> Yes, it is a separate problem, but it is still significant that reverting
> that patch triggers them in the extreme swap situation.
>
True.
> > > With your patch on .32-rc4 I still get the SKB errors, so it does not
> > > seem to help. The only change there may have been is that the desktop
> > > was frozen longer than without the patch, but that is an impression,
> > > not a hard fact.
> >
> > Actually, that's fairly interesting and I think justifies pushing the
> > patch. Direct reclaim can stall processes in a user-visible manner which
> > kswapd is meant to avoid in the majority of cases but is tricky to
> > quantify without instrumenting the kernel to measure direct reclaim
> > frequency and latency (I have WIP tracepoints for this but it's still a
> > WIP). If you notice shorter stalls with the patch applied, it means that
> > kswapd really did need to be informed of the problems.
>
> No, I thought I saw _longer_ stalls with your patch applied...
>
Sorry, I misinterpreted. If the stalls are longer, it likely means that
kswapd is doing more work and causing more IO when applied as it tries to
get order-2 pages free. You said you still got SKB errors. Were there any
significant change to the number of failures or can that be told?
> > There still has not been a mm-change identified that makes fragmentation
> > significantly worse.
>
> My bisection shows a very clear point, even if not an individual commit, in
> the 'akpm' merge where SKB errors suddenly become *much* more frequent and
> easy to trigger.
> I'm sorry to say this, but the fact that nothing has been identified yet is
> IMO the result of a lack of effort, not because there is no such change.
>
I apologise if I've given that impression. I've been starting at the commits
but could not find an obvious candidate within the page allocator itself which
is why I've been looking at other areas. I put together a hack that allocated
order-2 atomics at a constant rate and order-5 atomics at a lower rate to
try replicate the problem without drivers. I ran some workloads but I wasn't
able to get reliable figures that would have allowed me to investigate further.
> > The majority of the wireless reports have been in
> > this driver and I think we have the problem commit there. The only other
> > is a firmware loading problem in e100 after resume that fails to make an
> > atomic order-5 fail.
>
> Not exactly true. Bartlomiej's report was about ipw2200, so there are at
> least 3 different drivers involved, two wireless and one wired. Besides
> that one report is related to heavy swap, one to resume and one to driver
> reload.
> So it's much more likely that there is some common regression (in mm) that
> affected all three than that there are three unrelated regressions.
Very very likely, I'm not denying this.
> And although both of the others did extremely high allocations, they both
> started appearing in the same timeframe. And Bart's very first report
> linked it to mm changes.
>
> > It's possible that something has changed in resume
> > in the 2.6.31 window there - maybe something like drivers now reload
> > during resume where they didn't previously or less memory being pushed
> > to swap during resume.
>
> IMO you're sticking your head in the sand here.
No. If I was sticking my head in the sand, I would have dismissed this
entirely as "GFP_ATOMIC allocations can fail boo hoo hoo deal with it".
What I'm trying to identify what changed that would affect fragmentation
but that is not within the page allocator itself - largely because with
the exception of the patch I gave you, I couldn't find obvious breakage.
You highlighted the first akpm merge so lets look closer at that as I don't
think there is anything more I can do with the wireless driver other than the
suggestions made already. I looked at this already but I felt fixing GFP_ATOMIC
in wireless was the more likely fix.
Here is what you said about the merge.
====
For a good overview of the area, use 'gitk f83b1e61..517d0869'.
v2.6.30-5466-ga1dd268 mm: use alloc_pages_exact in alloc_large_system_hash
2.3 +-
v2.6.30-5478-ge9bb35d mm: setup_per_zone_inactive_ratio - fix comment and..
2.5 +-
v2.6.30-5486-g35282a2 migration: only migrate_prep() once per move_pages()
2.6 -|+|- not quite conclusive...
v2.6.30-5492-gbce7394 page-allocator: reset wmark_min and inactive ratio..
2.4 -|-
====
This is what I found. The following were the possible commits that might
be causing the problem.
d239171..72807a7 -- page allocator
These are the bulk of the page-allocator changes that happened int
the 2.6.30..2.6.31 cycle. It's also the location of the change to
kswapd that I sent you a patch for. If there was a marked increase
in the number of failures before and after this patchset, it means
that I was wrong about the problem not being in the page allocator
and I have to go back and keep looking. However, you report that
commit e9bb35d mm: setup_per_zone_inactive_ratio - fix comment
had relatively good results - relatively being that it didn't fail
on the first try. In my head, these patches have been struck off the
list of possibilities and is why I've been looking in other subsystems.
56e49d2..f166777 -- reclaim
I would have considered this strong candidates except again, the last
good commit happened after this point. If other obvious candidates
don't crop up, it might be worth double checking within this range, particularly
commit 56e49d2 vmscan: evict use-once pages first
as it is targeted at streaming-IO workloads which would include
your music workload. This commit also will cleanly revert on
mainline so is relatively easy to test
5c87ead..e9bb35d -- inactive ratio changes
These patches should be harmless but just in case, please
compare the output of
# grep inactive_ratio /proc/zoneinfo
on 2.6.30 and 2.6.31 and make sure the ratios are the same.
e9bb35d..bce7394 -- various changes
According to your analysis, this is the most likely location of
the problem commit.
Commit b70d94e altered how zonelists were selected during
allocation. This was tested fairly heavily but if the testing
missed something, it would mean that some allocations are not
using the zones they should be. However, my expectation would
be that mistakes here would have severe consequences affecting a
large number of people. This does not revert cleanly but there is
an untested patch below that should do the job. While it's hard to
imagine this patch being the problem, it's the most likely commit
with the range of commits your analysis identified.
Commit bc75d33 is totally harmless but it mentions min_free_kbytes. I
checked on my machine to make sure min_free_kbytes was the same on both
2.6.30 and 2.6.31. Can you check that this is true for your machine? If
min_free_kbytes decreased, it could explain GFP_ATOMIC failures.
An extremely unlikely candidate is 75927af8. For this to be a problem,
much of your userspace would have to be calling madvise() with
stupid parameters and depending on it silently ignore the
parameters
A vague potential candidate for swapless systems is 69c85481 but
your machine has swap so it can't be this.
Commit bce7394 affects min_free_kbytes but only on hotplug so it
can't be this either for your machine
After this point, your analysis indicates that things are already broken
but lets look at some of the candidates anyway. Out of curiousity,
was CONFIG_UNEVICTABLE_LRU unset in your .config for 2.6.30? I could
only find your 2.6.31 .config. If it was, it might be worth reverting
6837765963f1723e80ca97b1fae660f3a60d77df and unsetting it in 2.6.31 and
seeing what happens.
Commit 8cab4754d24a0f2e05920170c845bd84472814c6 keeps pages on the active
lists for longer than 2.6.30 did. It's possible the fewer reclaim decisions
is delaying lumpy reclaim.
CONFIG_NUMA is not set in your config, so the zone_reclaim() changes
around 24cf72518c79cdcda486ed26074ff8151291cf65 can be discounted.
Commit ee993b135ec75a93bd5c45e636bb210d2975159b altered how lumpy
reclaim works but it should have been harmless. It does not cleanly
revert but it's easy to manually revert.
I didn't spot any other patches that might be potential problems in the
commits.
> I'm not saying that mm is the only issue here, but I'm convinced that there
> _is_ an mm change that has contributed in a major way to these issues,
> even if we've not yet been able to identify it.
>
> > - net_ratelimit())
> > + net_ratelimit()) {
> > IWL_CRIT(priv, "Failed to allocate SKB buffer with %s. Only %u free
> > buffers remaining.\n", priority == GFP_ATOMIC ? "GFP_ATOMIC" :
> > "GFP_KERNEL",
>
> Haven't you broken the test 'priority == GFP_ATOMIC' here by setting
> priority to GFP_ATOMIC|__GFP_NOWARN?
>
Yes, I did, but as you say that this error message is showing up and buffers
are all depleted, it's not even close to being the right fix. It'd only
be relevant if that error message was showing up with buffers remaining in
the queue.
Revert commit b70d94ee
---
diff --git a/include/linux/gfp.h b/include/linux/gfp.h
index 557bdad..3a94e4b 100644
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@ -21,8 +21,7 @@ struct vm_area_struct;
#define __GFP_DMA ((__force gfp_t)0x01u)
#define __GFP_HIGHMEM ((__force gfp_t)0x02u)
#define __GFP_DMA32 ((__force gfp_t)0x04u)
-#define __GFP_MOVABLE ((__force gfp_t)0x08u) /* Page is movable */
-#define GFP_ZONEMASK (__GFP_DMA|__GFP_HIGHMEM|__GFP_DMA32|__GFP_MOVABLE)
+
/*
* Action modifiers - doesn't change the zoning
*
@@ -52,6 +51,7 @@ struct vm_area_struct;
#define __GFP_HARDWALL ((__force gfp_t)0x20000u) /* Enforce hardwall cpuset memory allocs */
#define __GFP_THISNODE ((__force gfp_t)0x40000u)/* No fallback, no policies */
#define __GFP_RECLAIMABLE ((__force gfp_t)0x80000u) /* Page is reclaimable */
+#define __GFP_MOVABLE ((__force gfp_t)0x100000u) /* Page is movable */
#ifdef CONFIG_KMEMCHECK
#define __GFP_NOTRACK ((__force gfp_t)0x200000u) /* Don't track with kmemcheck */
@@ -128,105 +128,24 @@ static inline int allocflags_to_migratetype(gfp_t gfp_flags)
((gfp_flags & __GFP_RECLAIMABLE) != 0);
}
-#ifdef CONFIG_HIGHMEM
-#define OPT_ZONE_HIGHMEM ZONE_HIGHMEM
-#else
-#define OPT_ZONE_HIGHMEM ZONE_NORMAL
-#endif
-
+static inline enum zone_type gfp_zone(gfp_t flags)
+{
#ifdef CONFIG_ZONE_DMA
-#define OPT_ZONE_DMA ZONE_DMA
-#else
-#define OPT_ZONE_DMA ZONE_NORMAL
+ if (flags & __GFP_DMA)
+ return ZONE_DMA;
#endif
-
#ifdef CONFIG_ZONE_DMA32
-#define OPT_ZONE_DMA32 ZONE_DMA32
-#else
-#define OPT_ZONE_DMA32 ZONE_NORMAL
-#endif
-
-/*
- * GFP_ZONE_TABLE is a word size bitstring that is used for looking up the
- * zone to use given the lowest 4 bits of gfp_t. Entries are ZONE_SHIFT long
- * and there are 16 of them to cover all possible combinations of
- * __GFP_DMA, __GFP_DMA32, __GFP_MOVABLE and __GFP_HIGHMEM
- *
- * The zone fallback order is MOVABLE=>HIGHMEM=>NORMAL=>DMA32=>DMA.
- * But GFP_MOVABLE is not only a zone specifier but also an allocation
- * policy. Therefore __GFP_MOVABLE plus another zone selector is valid.
- * Only 1bit of the lowest 3 bit (DMA,DMA32,HIGHMEM) can be set to "1".
- *
- * bit result
- * =================
- * 0x0 => NORMAL
- * 0x1 => DMA or NORMAL
- * 0x2 => HIGHMEM or NORMAL
- * 0x3 => BAD (DMA+HIGHMEM)
- * 0x4 => DMA32 or DMA or NORMAL
- * 0x5 => BAD (DMA+DMA32)
- * 0x6 => BAD (HIGHMEM+DMA32)
- * 0x7 => BAD (HIGHMEM+DMA32+DMA)
- * 0x8 => NORMAL (MOVABLE+0)
- * 0x9 => DMA or NORMAL (MOVABLE+DMA)
- * 0xa => MOVABLE (Movable is valid only if HIGHMEM is set too)
- * 0xb => BAD (MOVABLE+HIGHMEM+DMA)
- * 0xc => DMA32 (MOVABLE+HIGHMEM+DMA32)
- * 0xd => BAD (MOVABLE+DMA32+DMA)
- * 0xe => BAD (MOVABLE+DMA32+HIGHMEM)
- * 0xf => BAD (MOVABLE+DMA32+HIGHMEM+DMA)
- *
- * ZONES_SHIFT must be <= 2 on 32 bit platforms.
- */
-
-#if 16 * ZONES_SHIFT > BITS_PER_LONG
-#error ZONES_SHIFT too large to create GFP_ZONE_TABLE integer
+ if (flags & __GFP_DMA32)
+ return ZONE_DMA32;
#endif
-
-#define GFP_ZONE_TABLE ( \
- (ZONE_NORMAL << 0 * ZONES_SHIFT) \
- | (OPT_ZONE_DMA << __GFP_DMA * ZONES_SHIFT) \
- | (OPT_ZONE_HIGHMEM << __GFP_HIGHMEM * ZONES_SHIFT) \
- | (OPT_ZONE_DMA32 << __GFP_DMA32 * ZONES_SHIFT) \
- | (ZONE_NORMAL << __GFP_MOVABLE * ZONES_SHIFT) \
- | (OPT_ZONE_DMA << (__GFP_MOVABLE | __GFP_DMA) * ZONES_SHIFT) \
- | (ZONE_MOVABLE << (__GFP_MOVABLE | __GFP_HIGHMEM) * ZONES_SHIFT)\
- | (OPT_ZONE_DMA32 << (__GFP_MOVABLE | __GFP_DMA32) * ZONES_SHIFT)\
-)
-
-/*
- * GFP_ZONE_BAD is a bitmap for all combination of __GFP_DMA, __GFP_DMA32
- * __GFP_HIGHMEM and __GFP_MOVABLE that are not permitted. One flag per
- * entry starting with bit 0. Bit is set if the combination is not
- * allowed.
- */
-#define GFP_ZONE_BAD ( \
- 1 << (__GFP_DMA | __GFP_HIGHMEM) \
- | 1 << (__GFP_DMA | __GFP_DMA32) \
- | 1 << (__GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_MOVABLE | __GFP_HIGHMEM | __GFP_DMA) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_DMA) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_HIGHMEM) \
- | 1 << (__GFP_MOVABLE | __GFP_DMA32 | __GFP_DMA | __GFP_HIGHMEM)\
-)
-
-static inline enum zone_type gfp_zone(gfp_t flags)
-{
- enum zone_type z;
- int bit = flags & GFP_ZONEMASK;
-
- z = (GFP_ZONE_TABLE >> (bit * ZONES_SHIFT)) &
- ((1 << ZONES_SHIFT) - 1);
-
- if (__builtin_constant_p(bit))
- MAYBE_BUILD_BUG_ON((GFP_ZONE_BAD >> bit) & 1);
- else {
-#ifdef CONFIG_DEBUG_VM
- BUG_ON((GFP_ZONE_BAD >> bit) & 1);
+ if ((flags & (__GFP_HIGHMEM | __GFP_MOVABLE)) ==
+ (__GFP_HIGHMEM | __GFP_MOVABLE))
+ return ZONE_MOVABLE;
+#ifdef CONFIG_HIGHMEM
+ if (flags & __GFP_HIGHMEM)
+ return ZONE_HIGHMEM;
#endif
- }
- return z;
+ return ZONE_NORMAL;
}
/*
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
next prev parent reply other threads:[~2009-10-14 15:40 UTC|newest]
Thread overview: 369+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-01 19:53 2.6.32-rc1-git2: Reported regressions 2.6.30 -> 2.6.31 Rafael J. Wysocki
2009-10-01 19:53 ` [Bug #13645] NULL pointer dereference at (null) (level2_spare_pgt) Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13733] 2.6.31-rc2: irq 16: nobody cared Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13809] oprofile: possible circular locking dependency detected Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13836] suspend script fails, related to stdout? Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13869] Radeon framebuffer (w/o KMS) corruption at boot Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13906] Huawei E169 GPRS connection causes Ooops Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13935] 2.6.31-rcX breaks Apple MightyMouse (Bluetooth version) Rafael J. Wysocki
2009-10-02 12:51 ` Jan Scholz
2009-10-02 12:51 ` Jan Scholz
2009-10-02 15:58 ` Jiri Kosina
2009-10-02 15:58 ` Jiri Kosina
[not found] ` <alpine.LSU.2.00.0910021757390.10941-B4tOwbsTzaBolqkO4TVVkw@public.gmane.org>
2009-10-02 17:16 ` Rafael J. Wysocki
2009-10-02 17:16 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13940] iwlagn and sky2 stopped working, ACPI-related Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13943] WARNING: at net/mac80211/mlme.c:2292 with ath5k Rafael J. Wysocki
2009-10-02 7:12 ` Fabio Comolli
2009-10-02 7:12 ` Fabio Comolli
[not found] ` <b637ec0b0910020012n57e110cbl180aa5bda318e5d5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-02 17:17 ` Rafael J. Wysocki
2009-10-02 17:17 ` Rafael J. Wysocki
[not found] ` <200910021917.31509.rjw-KKrjLPT3xs0@public.gmane.org>
2009-10-02 21:37 ` Fabio Comolli
2009-10-02 21:37 ` Fabio Comolli
[not found] ` <b637ec0b0910021437l5a011f13qfa4dd541607a6dfb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-02 21:42 ` Rafael J. Wysocki
2009-10-02 21:42 ` Rafael J. Wysocki
[not found] ` <200910022342.47977.rjw-KKrjLPT3xs0@public.gmane.org>
2009-10-03 13:36 ` Fabio Comolli
2009-10-03 13:36 ` Fabio Comolli
2009-10-01 19:55 ` [Bug #13948] ath5k broken after suspend-to-ram Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13942] Troubles with AoE and uninitialized object Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-02 19:36 ` Bruno Prémont
2009-10-02 19:36 ` Bruno Prémont
[not found] ` <20091002213630.42c73909-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2009-10-02 21:24 ` Rafael J. Wysocki
2009-10-02 21:24 ` Rafael J. Wysocki
2009-10-02 19:57 ` David Rientjes
2009-10-02 19:57 ` David Rientjes
2009-10-01 19:55 ` [Bug #13941] x86 Geode issue Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13950] Oops when USB Serial disconnected while in use Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-02 19:45 ` Bruno Prémont
2009-10-02 19:45 ` Bruno Prémont
[not found] ` <20091002214550.6727df5c-hY15tx4IgV39zxVx7UNMDg@public.gmane.org>
2009-10-02 21:26 ` Rafael J. Wysocki
2009-10-02 21:26 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14013] hd don't show up Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #13987] Received NMI interrupt at resume Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14017] _end symbol missing from Symbol.map Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14090] WARNING: at fs/notify/inotify/inotify_user.c:394 Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14058] Oops in fsnotify Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-02 7:14 ` Jaswinder Singh Rajput
2009-10-02 7:14 ` Jaswinder Singh Rajput
2009-10-01 19:55 ` [Bug #14070] lockdep warning triggered by dup_fd Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14114] Tuning a saa7134 based card is broken in kernel 2.6.31-rc7 Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14137] usb console regressions Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14133] WARNING: at arch/x86/kernel/smp.c:117 native_smp_send_reschedule Rafael J. Wysocki
2009-10-02 7:00 ` Jaswinder Singh Rajput
2009-10-02 7:00 ` Jaswinder Singh Rajput
2009-10-02 7:34 ` Jens Axboe
[not found] ` <20091002073425.GA14918-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2009-10-02 17:21 ` Rafael J. Wysocki
2009-10-02 17:21 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14181] b43 causes panic at system shutdown Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14157] end_request: I/O error, dev cciss/cXdX, sector 0 Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14141] order 2 page allocation failures in iwlagn Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-02 9:11 ` Frans Pop
2009-10-02 9:11 ` Frans Pop
[not found] ` <200910021111.55749.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-02 9:32 ` Mel Gorman
2009-10-02 9:32 ` Mel Gorman
[not found] ` <20091002093226.GJ21906-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-02 10:01 ` Frans Pop
2009-10-02 10:01 ` Frans Pop
2009-10-02 20:01 ` Karol Lewandowski
2009-10-02 20:01 ` Karol Lewandowski
2009-10-04 19:28 ` Karol Lewandowski
2009-10-05 5:13 ` Frans Pop
2009-10-05 5:13 ` Frans Pop
2009-10-05 6:50 ` Frans Pop
2009-10-05 6:50 ` Frans Pop
2009-10-05 8:54 ` Frans Pop
2009-10-05 8:54 ` Frans Pop
2009-10-05 8:57 ` Mel Gorman
2009-10-05 8:57 ` Mel Gorman
2009-10-05 21:34 ` Frans Pop
2009-10-05 21:34 ` Frans Pop
2009-10-06 0:04 ` David Rientjes
2009-10-06 0:04 ` David Rientjes
2009-10-06 1:25 ` KOSAKI Motohiro
2009-10-06 1:25 ` KOSAKI Motohiro
2009-10-06 8:53 ` Mel Gorman
2009-10-06 8:53 ` Mel Gorman
2009-10-06 9:14 ` David Rientjes
2009-10-06 9:14 ` David Rientjes
2009-10-06 9:22 ` Mel Gorman
2009-10-06 9:22 ` Mel Gorman
2009-10-06 10:23 ` Frans Pop
2009-10-06 10:23 ` Frans Pop
2009-10-11 23:10 ` Frans Pop
2009-10-11 23:10 ` Frans Pop
2009-10-11 23:36 ` Frans Pop
2009-10-11 23:36 ` Frans Pop
2009-10-12 13:43 ` Mel Gorman
2009-10-12 13:43 ` Mel Gorman
2009-10-12 13:43 ` Mel Gorman
2009-10-12 17:32 ` Frans Pop
2009-10-12 17:32 ` Frans Pop
2009-10-12 18:43 ` Mel Gorman
2009-10-12 18:43 ` Mel Gorman
2009-10-13 20:38 ` Frans Pop
2009-10-13 20:38 ` Frans Pop
2009-10-14 10:30 ` Mel Gorman
2009-10-14 10:30 ` Mel Gorman
2009-10-14 10:30 ` Mel Gorman
2009-10-14 13:10 ` Frans Pop
2009-10-14 15:40 ` Mel Gorman [this message]
2009-10-14 15:40 ` Mel Gorman
2009-10-14 16:13 ` Frans Pop
2009-10-14 16:13 ` Frans Pop
2009-10-14 18:34 ` Frans Pop
2009-10-14 18:34 ` Frans Pop
2009-10-14 23:56 ` Mel Gorman
2009-10-14 23:56 ` Mel Gorman
2009-10-14 23:56 ` Mel Gorman
2009-10-15 20:15 ` Frans Pop
2009-10-15 20:15 ` Frans Pop
2009-10-16 9:39 ` Mel Gorman
2009-10-16 9:39 ` Mel Gorman
2009-10-14 16:30 ` reinette chatre
2009-10-14 16:30 ` reinette chatre
[not found] ` <200910141510.11059.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-18 23:33 ` Frans Pop
2009-10-18 23:33 ` Frans Pop
2009-10-18 23:33 ` Frans Pop
2009-10-19 0:36 ` Pekka Enberg
2009-10-19 0:36 ` Pekka Enberg
2009-10-19 2:44 ` Frans Pop
2009-10-19 2:44 ` Frans Pop
2009-10-19 2:44 ` Frans Pop
2009-10-19 9:49 ` [Bug #14141] order 2 page allocation failures (generic) Tobi Oetiker
2009-10-19 9:49 ` Tobi Oetiker
[not found] ` <alpine.DEB.2.00.0910191146110.1306-EjsAmf5DE5zIvOfxy3zmAzgUDZmNtoG9@public.gmane.org>
2009-10-19 9:54 ` Pekka Enberg
2009-10-19 9:54 ` Pekka Enberg
2009-10-19 9:54 ` Pekka Enberg
2009-10-19 14:01 ` Karol Lewandowski
2009-10-19 14:01 ` Karol Lewandowski
[not found] ` <20091019140145.GA4222-nLtalAL5mPp2RxbNQum0x1nzlInOXLuq@public.gmane.org>
2009-10-19 14:06 ` Mel Gorman
2009-10-19 14:06 ` Mel Gorman
2009-10-19 14:06 ` Mel Gorman
2009-10-19 17:09 ` Karol Lewandowski
2009-10-19 17:09 ` Karol Lewandowski
2009-10-20 1:47 ` Karol Lewandowski
2009-10-20 1:47 ` Karol Lewandowski
2009-10-19 13:31 ` Mel Gorman
2009-10-19 13:31 ` Mel Gorman
2009-10-19 13:31 ` Mel Gorman
[not found] ` <20091019133146.GB9036-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-19 13:40 ` Tobias Oetiker
2009-10-19 13:40 ` Tobias Oetiker
2009-10-19 13:40 ` Tobias Oetiker
[not found] ` <alpine.DEB.2.00.0910191538450.8526-EjsAmf5DE5zIvOfxy3zmAzgUDZmNtoG9@public.gmane.org>
2009-10-19 14:09 ` Mel Gorman
2009-10-19 14:09 ` Mel Gorman
2009-10-19 14:09 ` Mel Gorman
2009-10-19 14:16 ` Tobias Oetiker
2009-10-19 14:16 ` Tobias Oetiker
2009-10-19 14:59 ` Mel Gorman
2009-10-19 14:59 ` Mel Gorman
2009-10-19 20:12 ` Tobias Oetiker
2009-10-19 20:12 ` Tobias Oetiker
2009-10-19 20:17 ` Tobias Oetiker
2009-10-19 20:17 ` Tobias Oetiker
2009-10-20 10:57 ` Mel Gorman
2009-10-20 10:57 ` Mel Gorman
2009-10-20 11:44 ` Tobias Oetiker
2009-10-20 11:44 ` Tobias Oetiker
2009-10-20 12:51 ` Mel Gorman
2009-10-20 12:51 ` Mel Gorman
2009-10-20 12:58 ` Tobias Oetiker
2009-10-20 12:58 ` Tobias Oetiker
2009-10-20 13:39 ` Mel Gorman
2009-10-20 13:39 ` Mel Gorman
2009-10-20 13:50 ` Tobias Oetiker
2009-10-20 13:50 ` Tobias Oetiker
2009-10-20 14:14 ` Mel Gorman
2009-10-20 14:14 ` Mel Gorman
2009-10-20 14:20 ` Tobias Oetiker
2009-10-20 14:20 ` Tobias Oetiker
2009-10-22 10:27 ` Tobias Oetiker
2009-10-22 10:27 ` Tobias Oetiker
2009-10-19 2:52 ` [Bug #14141] order 2 page allocation failures in iwlagn Jens Axboe
2009-10-19 2:52 ` Jens Axboe
[not found] ` <200910190133.33183.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-19 14:01 ` Mel Gorman
2009-10-19 14:01 ` Mel Gorman
2009-10-19 14:01 ` Mel Gorman
2009-10-19 16:18 ` Chris Mason
2009-10-19 16:18 ` Chris Mason
2009-10-19 17:01 ` Christoph Hellwig
2009-10-19 17:01 ` Christoph Hellwig
2009-10-19 17:01 ` Christoph Hellwig
[not found] ` <20091019170115.GA4593-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2009-10-19 21:57 ` Chris Mason
2009-10-19 21:57 ` Chris Mason
2009-10-19 21:57 ` Chris Mason
2009-10-19 17:01 ` Christoph Hellwig
2009-10-20 10:48 ` Mel Gorman
2009-10-20 10:48 ` Mel Gorman
2009-10-20 10:48 ` Mel Gorman
2009-10-26 21:06 ` Frans Pop
[not found] ` <200910262206.13146.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-27 14:54 ` Mel Gorman
2009-10-27 14:54 ` Mel Gorman
2009-10-27 14:54 ` Mel Gorman
2009-10-27 15:16 ` KOSAKI Motohiro
2009-10-27 15:16 ` KOSAKI Motohiro
[not found] ` <2f11576a0910270816s3e1b268ah91b5f2d0cc0d562e-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-27 15:21 ` Mel Gorman
2009-10-27 15:21 ` Mel Gorman
2009-10-27 15:21 ` Mel Gorman
[not found] ` <20091027145435.GG8900-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-27 15:52 ` Mel Gorman
2009-10-27 15:52 ` Mel Gorman
2009-10-27 15:52 ` Mel Gorman
2009-10-27 16:03 ` Chris Mason
2009-10-27 16:03 ` Chris Mason
2009-10-27 17:21 ` Frans Pop
2009-10-27 17:21 ` Frans Pop
2009-10-27 17:21 ` Frans Pop
2009-10-27 17:21 ` Frans Pop
2009-11-05 20:14 ` Frans Pop
2009-11-05 20:14 ` Frans Pop
2009-11-05 20:14 ` Frans Pop
[not found] ` <200911052114.36718.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-11-06 9:51 ` Frans Pop
2009-11-06 9:51 ` Frans Pop
2009-11-06 9:51 ` Frans Pop
2009-11-09 19:00 ` Mel Gorman
2009-11-09 19:00 ` Mel Gorman
2009-10-20 10:48 ` Mel Gorman
2009-10-25 18:54 ` Frans Pop
2009-10-25 18:54 ` Frans Pop
2009-10-25 18:54 ` Frans Pop
2009-10-14 16:28 ` reinette chatre
2009-10-14 16:28 ` reinette chatre
2009-10-14 16:50 ` Mel Gorman
2009-10-14 16:50 ` Mel Gorman
2009-10-14 20:41 ` reinette chatre
2009-10-14 20:41 ` reinette chatre
2009-10-14 21:33 ` Frans Pop
2009-10-14 21:33 ` Frans Pop
2009-10-14 21:55 ` reinette chatre
2009-10-14 21:55 ` reinette chatre
2009-10-15 2:02 ` Frans Pop
2009-10-15 2:02 ` Frans Pop
2009-10-15 15:29 ` reinette chatre
2009-10-15 15:29 ` reinette chatre
2009-10-15 19:41 ` Frans Pop
2009-10-16 17:21 ` reinette chatre
2009-10-16 17:21 ` reinette chatre
2009-10-16 17:21 ` reinette chatre
[not found] ` <200910152142.02876.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-17 5:42 ` reinette chatre
2009-10-17 5:42 ` reinette chatre
2009-10-17 5:42 ` reinette chatre
2009-10-27 11:10 ` Frans Pop
2009-10-27 11:10 ` Frans Pop
[not found] ` <200910271210.31014.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-27 16:15 ` reinette chatre
2009-10-27 16:15 ` reinette chatre
2009-10-27 16:15 ` reinette chatre
2009-10-01 19:55 ` [Bug #14143] OOPS when setting nr_requests for md devices Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14204] MCE prevent booting on my computer(pentium iii @500Mhz) Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14185] Oops in driversbasefirmware_class Rafael J. Wysocki
2009-10-01 19:55 ` Rafael J. Wysocki
2009-10-01 19:55 ` [Bug #14205] Intel DX58SO mainboard - powering off takes really long Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14222] Hibernation oopses for the 2nd time with 2.6.31 (won't fit the screen) Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14248] 2.6.31 wireless: WARNING: at net/wireless/ibss.c:34 Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14249] BUG: oops in gss_validate on 2.6.31 Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14253] Oops in driversbasefirmware_class Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14251] 2.6.31: no login prompt Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14254] Hibernation broken by clocksource: Save mult_orig in clocksource_disable() Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14252] WARNING: at include/linux/skbuff.h:1382 w/ e1000 Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14256] kernel BUG at fs/ext3/super.c:435 Rafael J. Wysocki
2009-10-04 17:38 ` Mikael Pettersson
2009-10-04 17:38 ` Mikael Pettersson
2009-10-04 20:49 ` Rafael J. Wysocki
[not found] ` <200910042249.54639.rjw-KKrjLPT3xs0@public.gmane.org>
2009-10-04 23:04 ` Mikael Pettersson
2009-10-04 23:04 ` Mikael Pettersson
[not found] ` <19145.10741.402938.867088-tgku4HJDRZih8lFjZTKsyTAV6s6igYVG@public.gmane.org>
2009-10-09 16:40 ` Mikael Pettersson
2009-10-09 16:40 ` Mikael Pettersson
[not found] ` <19151.26501.727411.584056-tgku4HJDRZih8lFjZTKsyTAV6s6igYVG@public.gmane.org>
2009-10-09 22:03 ` Rafael J. Wysocki
2009-10-09 22:03 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14255] WARNING: at drivers/char/tty_io.c:1267 Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-02 0:05 ` Linus Torvalds
2009-10-02 0:05 ` Linus Torvalds
2009-10-01 19:56 ` [Bug #14257] Not able to boot on 32 bit System Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14258] Memory leak in SCSI initialization Rafael J. Wysocki
2009-10-02 12:58 ` Tetsuo Handa
2009-10-02 17:26 ` Rafael J. Wysocki
2009-10-07 14:04 ` Tetsuo Handa
2009-10-07 20:24 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14264] ehci problem - mouse dead on scroll Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14261] e1000e jumbo frames no longer work: 'Unsupported MTU setting' Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-02 20:33 ` Nix
[not found] ` <877hvd8rj5.fsf-AdTWujXS48Mg67Zj9sPl2A@public.gmane.org>
2009-10-02 21:31 ` Rafael J. Wysocki
2009-10-02 21:31 ` Rafael J. Wysocki
2009-10-02 22:13 ` Jeff Kirsher
2009-10-02 22:13 ` Jeff Kirsher
2009-10-07 18:34 ` Theodore Tso
2009-10-07 18:34 ` Theodore Tso
2009-10-07 19:12 ` Jeff Kirsher
[not found] ` <20091007183453.GD12971-3s7WtUTddSA@public.gmane.org>
2009-10-07 19:12 ` Jeff Kirsher
2009-10-01 19:56 ` [Bug #14270] Cannot boot on a PIII Celeron Rafael J. Wysocki
2009-10-01 19:56 ` Rafael J. Wysocki
2009-10-02 8:30 ` Cyrill Gorcunov
2009-10-02 8:30 ` Cyrill Gorcunov
[not found] ` <aa79d98a0910020130p4d3c5b5fh9597ea435db7f872-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-02 9:13 ` Michael Tokarev
2009-10-02 9:13 ` Michael Tokarev
[not found] ` <4AC5C42E.9070909-Gdu+ltImwkhes2APU0mLOQ@public.gmane.org>
2009-10-02 10:38 ` Michael Tokarev
2009-10-02 10:38 ` Michael Tokarev
2009-10-02 10:55 ` Cyrill Gorcunov
[not found] ` <aa79d98a0910020355r31b37ea0v1fef7286f7a71508-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-02 10:59 ` Michael Tokarev
2009-10-02 10:59 ` Michael Tokarev
2009-10-02 14:05 ` Cyrill Gorcunov
2009-10-04 12:14 ` Michael Tokarev
2009-10-04 12:43 ` Cyrill Gorcunov
2009-10-01 19:56 ` [Bug #14267] Disassociating atheros wlan Rafael J. Wysocki
2009-10-05 0:34 ` Justin Mattock
2009-10-05 0:34 ` Justin Mattock
2009-10-05 20:09 ` Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14266] regression in page writeback Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14265] ifconfig: page allocation failure. order:5, mode:0x8020 w/ e100 Rafael J. Wysocki
2009-10-21 20:04 ` [PATCH] SLUB: Don't drop __GFP_NOFAIL completely from allocate_slab() (was: Re: [Bug #14265] ifconfig: page allocation failure. order:5,ode:0x8020 w/ e100) Karol Lewandowski
2009-10-21 20:04 ` Karol Lewandowski
[not found] ` <20091021200442.GA2987-nLtalAL5mPp2RxbNQum0x1nzlInOXLuq@public.gmane.org>
2009-10-21 21:06 ` David Rientjes
2009-10-21 21:06 ` David Rientjes
2009-10-21 21:06 ` David Rientjes
[not found] ` <alpine.DEB.2.00.0910211400140.20010-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2009-10-21 21:20 ` Karol Lewandowski
2009-10-21 21:20 ` Karol Lewandowski
2009-10-21 21:20 ` Karol Lewandowski
2009-10-22 10:20 ` Mel Gorman
2009-10-22 10:20 ` Mel Gorman
[not found] ` <20091022102014.GL11778-wPRd99KPJ+uzQB+pC5nmwQ@public.gmane.org>
2009-10-22 21:33 ` Karol Lewandowski
2009-10-22 21:33 ` Karol Lewandowski
2009-10-22 21:33 ` Karol Lewandowski
2009-10-01 19:56 ` [Bug #14275] kernel>=2.6.31: ahci.c: do not force unconditionally sb600 to 32bit dma any more? Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14294] kernel BUG at drivers/ide/ide-disk.c:187 Rafael J. Wysocki
2009-10-01 19:56 ` [Bug #14301] WARNING: at net/ipv4/af_inet.c:154 Rafael J. Wysocki
2009-10-03 8:36 ` Eric Dumazet
2009-10-03 8:36 ` Eric Dumazet
[not found] ` <4AC70D20.4060009-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-10-03 8:52 ` Eric Dumazet
2009-10-03 8:52 ` Eric Dumazet
2009-10-03 17:53 ` Eric Dumazet
2009-10-03 17:53 ` Eric Dumazet
[not found] ` <4AC78F7C.40908-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-10-07 15:41 ` Eric Dumazet
2009-10-07 15:41 ` Eric Dumazet
2009-10-09 14:43 ` [PATCH] udp: Fix udp_poll() and ioctl() Eric Dumazet
[not found] ` <4ACF4C1C.4050505-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-10-13 10:18 ` David Miller
2009-10-13 10:18 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2009-10-11 22:41 2.6.32-rc4: Reported regressions 2.6.30 -> 2.6.31 Rafael J. Wysocki
2009-10-11 23:01 ` [Bug #14141] order 2 page allocation failures in iwlagn Rafael J. Wysocki
2009-10-11 23:57 ` Frans Pop
2009-10-11 23:57 ` Frans Pop
[not found] ` <200910120157.04616.elendil-EIBgga6/0yRmR6Xm/wNWPw@public.gmane.org>
2009-10-12 21:29 ` Rafael J. Wysocki
2009-10-12 21:29 ` Rafael J. Wysocki
2009-10-26 19:26 2.6.32-rc5-git3: Reported regressions 2.6.30 -> 2.6.31 Rafael J. Wysocki
2009-10-26 19:31 ` [Bug #14141] order 2 page allocation failures in iwlagn Rafael J. Wysocki
2009-11-16 22:58 2.6.32-rc7-git1: Reported regressions 2.6.30 -> 2.6.31 Rafael J. Wysocki
2009-11-16 23:01 ` [Bug #14141] order 2 page allocation failures in iwlagn Rafael J. Wysocki
2009-11-21 14:59 2.6.32-rc8-git1: Reported regressions 2.6.30 -> 2.6.31 Rafael J. Wysocki
2009-11-21 15:02 ` [Bug #14141] order 2 page allocation failures in iwlagn Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091014154026.GC5027@csn.ul.ie \
--to=mel@csn.ul.ie \
--cc=bzolnier@gmail.com \
--cc=elendil@planet.nl \
--cc=karol.k.lewandowski@gmail.com \
--cc=kernel-testers@vger.kernel.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linville@tuxdriver.com \
--cc=mohamed.abbas@intel.com \
--cc=penberg@cs.helsinki.fi \
--cc=reinette.chatre@intel.com \
--cc=rientjes@google.com \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.