Re: [PATCH 1/2] x86: Cleanup TIF value gaps in shift range

H. Peter Anvin
2010-10-18T21:28:49Z

On 10/18/2010 02:23 PM, Thomas Gleixner wrote:
> On Mon, 18 Oct 2010, David Rientjes wrote:
>
>> On Mon, 18 Oct 2010, Frederic Weisbecker wrote:
>>
>>> 9, 19 and 26 values are missing from the TIF shift range, probably
>>> due to flags that were removed by the past. Now repack the range
>>> so that we can quickly retrieve the remaining free shift slots.
>>>
>>> But take care of keeping the seperation between high and low bits
>>> as some masks are created on top of this boundary.
>>>
>>
>> What's the benefit of doing this?
>>
>> These flags are exported to userspace through SysRq-T, SysRq+W, the hung
>> task detector, and the rcu stall detector, so there may be external
>> dependencies testing for these bits.
>>
>> We use this to look for TIF_MEMDIE to determine whether an oom killed task
>> has failed to exit and becomes hung after having access to memory
>> reserves, and that's one of the bits you've changed here.
>
> I agree in general, but this is stupid as hell. No fcking interface
> should exposed kernel internal flag bits just as hex values and no
> fcking luser space should rely on it to be a subject of no change.
>
> Seriously, if we can't even change TIF_* bits anymore then we are
> doing something wrong. That's a pure kernel internal affair and
> subject to change.
>

The problem is that someone exports something as debugging information,
then someone else suddenly thinks it's an ABI. I believe the same
complainant in the past has objected to changing of formatting in dmesg,
which is equally insane.

-hpa