xfs
[Top] [All Lists]

Re: [regression v4.0-rc1] mm: IPIs from TLB flushes causing significant

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [regression v4.0-rc1] mm: IPIs from TLB flushes causing significant performance degradation.
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 2 Mar 2015 18:22:29 -0800
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Matt B <jackdachef@xxxxxxxxx>, Linux Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>, linux-mm <linux-mm@xxxxxxxxx>, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=N4BWqDuXgmXXBZeUA+eVaALAiGtm2C8eyckLfa9uwOE=; b=W2Nwq8LoLZ4AaH7NPw/iHPyDtfwoTg4qp8BYvO8MdCUVI5rCvkcFE1K4MGDpXyxzxm 16mjxAHz+i82wGLUwLndWr4HXsH7wVT8WitpGT2SJIi++bX4Du2QyuzS7+/aLw0H61Bw W2fP8hGTkTtWocm7AHK9KwCgLQlpETBDVQ+lsnS0BllEWGOkg12dok4GUYGpytza1R7n 3TmfN46ASkqf/bgN6G8PyHDRIZnTFo6VqHBm9WOzPD6bfu65khgS9QNea0Pc3DuHlrTu qLzegbgoDgLImSlzYcb87Wcjvzsj7a8q1Mcb4Ioci1ltgTKrxez0ZOSpONw+JJei363/ UYEQ==
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=N4BWqDuXgmXXBZeUA+eVaALAiGtm2C8eyckLfa9uwOE=; b=GpHgBP4LrcMiK8F9v+XXxjiFz9LBMbci+YmInAlJmFWOzQogHqkwxHpVK1WeBR4Drz IyGH8N4Ae5A9lHIqkh2/YAAyzhmQ9Duzod+UlHIJwnqfJq4ASpPOkczyrRT1lFifxvcx +KFwvwAdKZENY0TzmdAKIofzuLAHeU8hfotfA=
In-reply-to: <20150303014733.GL18360@dastard>
References: <20150302010413.GP4251@dastard> <CA+55aFzGFvVGD_8Y=jTkYwgmYgZnW0p0Fjf7OHFPRcL6Mz4HOw@xxxxxxxxxxxxxx> <20150303014733.GL18360@dastard>
Sender: linus971@xxxxxxxxx
On Mon, Mar 2, 2015 at 5:47 PM, Dave Chinner <david@xxxxxxxxxxxxx> wrote:
>
> Anyway, the difference between good and bad is pretty clear, so
> I'm pretty confident the bisect is solid:
>
> 4d9424669946532be754a6e116618dcb58430cb4 is the first bad commit

Well, it's the mm queue from Andrew, so I'm not surprised. That said,
I don't see why that particular one should matter.

Hmm. In your profiles, can you tell which caller of "flush_tlb_page()"
 changed the most? The change from "mknnuma" to "prot_none" *should*
be 100% equivalent (both just change the page to be not-present, just
set different bits elsewhere in the pte), but clearly something
wasn't.

Oh. Except for that special "huge-zero-page" special case that got
dropped, but that got re-introduced in commit e944fd67b625.

There might be some other case where the new "just change the
protection" doesn't do the "oh, but it the protection didn't change,
don't bother flushing". I don't see it.

                          Linus

<Prev in Thread] Current Thread [Next in Thread>