lkml.org 
[lkml]   [2013]   [Aug]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] aoe: adjust ref of head for compound page tails
From
Date
On Aug 8, 2013, at 3:56 PM, Andrew Morton wrote:

> On Wed, 7 Aug 2013 20:50:09 -0400 Ed Cashin <ecashin@coraid.com> wrote:
...
>> When the workaround was created, it was with the assumption that the zero-count pages are not always tail pages, and that seemed to be the case in 2007, but as I said, I don't have a mechanism for detecting that now, so I cannot say whether it really happens with today's kernel.
>
> It sounds we should pull out all that code and retest. It shouldn't be
> needed - if this results in some failure then I suspect core MM will
> need changes.

OK. I'll look into that. It sure would be nice to get rid of it.

> Why don't you have a "mechanism for detecting that"? It's a matter of
> pointing AOE at some hugetlb pages?

No, I was testing with hugetlb pages already. But there are many use case combinations, and I meant that aoe has no mechanism that has been in the aoe code all these years to catch specific (possibly rare) use cases that result in zero-count pages. It would be something like this:

+static void
+check_page_counts(struct bio *bio)
+{
+ struct bio_vec *bv;
+ int n;
+ int i;
+
+ bio_for_each_segment(bv, bio, i) {
+ n = page_count(bv->bv_page);
+ WARN_ONCE(n <= 0,
+ "aoe: page %d in bio has non-positive count %d\n",
+ i, n);
+ }
+}

I'll add that when I try testing without the page count manipulation.

--
Ed Cashin
ecashin@coraid.com




\
 
 \ /
  Last update: 2013-08-08 23:21    [W:0.052 / U:0.768 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site