[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50349012.3010508@intel.com>
Date: Wed, 22 Aug 2012 15:53:54 +0800
From: Alex Shi <alex.shi@...el.com>
To: Jan Beulich <jbeulich@...e.com>
CC: konrad.wilk@...cle.com, linux-kernel@...r.kernel.org, hpa@...or.com
Subject: Re: apparent regressions from TLB range flushing page set
On 08/22/2012 03:44 PM, Jan Beulich wrote:
>>>> Alex Shi <alex.shi@...el.com> 08/22/12 5:27 AM >>>
>>> Second, the UV code doesn't flush the full range at all, it simply
>>> ignores its 'end' parameter (and hence also the "all" indicator).
>>
>> Sure. the following rfc patch try to fix it. untested since no hardware.
>
> Sure - this needs to be looked at by a person knowing UV (and I would
> have thought a change like the one we're discussing here would also
> have required an ack from such a person), but ...
>
>> --- a/arch/x86/platform/uv/tlb_uv.c
>> +++ b/arch/x86/platform/uv/tlb_uv.c
>> @@ -280,12 +280,12 @@ static void bau_process_message(struct msg_desc *mdp, struct bau_control *bcp,
>> /*
>> * This must be a normal message, or retry of a normal message
>> */
>> - if (msg->address == TLB_FLUSH_ALL) {
>> + if (msg->end == 0) {
>
> How would "end" end up being 0 here? Don't you rather mean "start and
> end on the same page"?
yes,
> And even if you do, aren't you then losing the
> intended optimization?
Sure, TLB optimization is relatively complex and specific on different
hardware. I am not sure this platform needs this, and even so, I can not
give reasonable flushall_shift value. So, it is better to recover the
system as before.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists