VSID allocation

Anton Blanchard anton at samba.org
Sat Aug 31 11:11:59 EST 2002


> You had brought up the topic of VSID allocation and problems you saw
> with the distribution in the HPT.  Can you provide a few more details of
> the specifcs and the workload that was being run?  I would like to
> consider recreating the environment.

Basically I am looking to change VSID allocation from:

ordinal = (((ea >> 28) & 0x1fff) * LAST_USER_CONTEXT) | context;

to

ordinal = context * LAST_USER_CONTEXT | (((ea >> 28) & 0x1fff);

The problem is that with 256k+ contexts the old scheme shifts the
address bits too far and since the hashtable uses the lower n bits, we
end up with kernel segments mapping into the same bucket. In some cases
we overflow the bucket.

Anton

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list