linux-mips
[Top] [All Lists]

Re: [PATCH RFC 1/5] scripts: Add sortextable to sort the kernel's except

To: "H. Peter Anvin" <hpa@kernel.org>
Subject: Re: [PATCH RFC 1/5] scripts: Add sortextable to sort the kernel's exception table.
From: David Daney <ddaney.cavm@gmail.com>
Date: Mon, 21 Nov 2011 10:51:06 -0800
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-embedded@vger.kernel.org, x86@kernel.org, David Daney <david.daney@cavium.com>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=jP3CX7Qf5LRpsJGnNuHq5GZQGccUwdaQeF183TbvFUc=; b=q/BHGRQXkfe3kLc6NC/Jm8sygtI63KHKhnyO4UirIUjrB2DSJac2ShstNOvwTnLvkw xqWJc08X+kN8kKtvzuutTHE+3WRa+R26zaC+cwyaMeFGm2/6LzI4q7emgwDwYVN1YJ2i Qd5j7U1yxfN/KCt4ljrMHk/qFC0P4f74hQBPI=
In-reply-to: <4EC98C97.50604@kernel.org>
References: <1321645068-20475-1-git-send-email-ddaney.cavm@gmail.com> <1321645068-20475-2-git-send-email-ddaney.cavm@gmail.com> <4EC98C97.50604@kernel.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10
On 11/20/2011 03:26 PM, H. Peter Anvin wrote:
On 11/18/2011 11:37 AM, David Daney wrote:
From: David Daney<david.daney@cavium.com>

Using this build-time sort saves time booting as we don't have to burn
cycles sorting the exception table.


If we're going to do this at build time, I would suggest using a
collisionless hash instead.  The lookup time for those are O(1), but
they definitely need to be done at build time.


It is my understanding that such a hash table would be sparsely populated, so space would have to be reserved for the empty buckets. The current patch, which works in-place on the fully linked vmlinux, doesn't have to worry about finding enough space for the table.

If we were to do the collisionless hash, we would somehow have to reserve space for the empty buckets.

On my test kernel, there were only 1453 entries in the exception table, So doing the binary search takes a maximum of 11 loads.

So, I guess I am not strongly opposed to using a collisionless hash, but I think it may not be worth the extra effort.

David Daney

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