Re: A regression in recent 3.2 kernel: bdi_dirty_limit() divide error
From: Wu Fengguang <hidden>
Date: 2012-01-10 14:38:39
Also in:
lkml
On Tue, Jan 10, 2012 at 06:32:25AM -0800, Илья Тумайкин wrote:
Hello, Mr. Fengguang. This latter patch fixed the problem completely! I've tested vanilla 3.2 with both patches applied and with only the latter one, results are the same: - first of all the initial problem solved. I have no "divide error" (not sure if this panic) now. - doing daily desktop stuff (e.g. web browsing, movie playback, book reading etc) also without any errors as well as compiling packages. So, I can confirm the problem is solved completely. Thank you and your colleagues very much for you fast response and active help! I am very grateful!
Ilya, thank you too for your report and testing! I'll submit the patch right now. Thanks, Fengguang
quoted hunk
--- Пн, 9.1.12, Wu Fengguang <wfg@linux.intel.com> пишет:quoted
От: Wu Fengguang [off-list ref] Тема: Re: A regression in recent 3.2 kernel: bdi_dirty_limit() divide error Кому: "Peter Zijlstra" [off-list ref] Копия: "Илья Тумайкин" [off-list ref], "LKML" [off-list ref], linux-fsdevel@vger.kernel.org Дата: Понедельник, 9 январь 2012, 7:04 On Sun, Jan 08, 2012 at 11:19:14AM +0100, Peter Zijlstra wrote:quoted
But even then, we limit PROP_MAX_SHIFT to3*BITS_PER_LONG/4, I don'tquoted
think that could ever overflow.do_div() only uses the lower 32 bit value of the 64 bit denominator, which may happen to be 0. The denominator is not really 64 bit, but limited by PROP_MAX_SHIFT = 48 bit, however that upper limit looks not enough. Ilya, would you help try the attached patch instead? Thanks, Fengguang
-- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html