[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4AC4D595.2070202@garzik.org>
Date: Thu, 01 Oct 2009 12:15:17 -0400
From: Jeff Garzik <jeff@...zik.org>
To: David Howells <dhowells@...hat.com>
CC: Tejun Heo <tj@...nel.org>, mingo@...e.hu,
linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
jens.axboe@...cle.com, rusty@...tcorp.com.au,
cl@...ux-foundation.org, arjan@...ux.intel.com
Subject: Re: [PATCH 10/19] workqueue: update cwq alignement and make one more
flag bit available
On 10/01/2009 09:05 AM, David Howells wrote:
> Tejun Heo<tj@...nel.org> wrote:
>
>> +enum {
>> + WORK_STRUCT_PENDING = 0, /* work item is pending execution */
>> +
>> + /*
>> + * Reserve 3bits off of cwq pointer. This is enough and
>> + * provides acceptable alignment on both 32 and 64bit
>> + * machines.
>> + */
>> + WORK_STRUCT_FLAG_BITS = 3,
>> +
>> + WORK_STRUCT_FLAG_MASK = (1UL<< WORK_STRUCT_FLAG_BITS) - 1,
>> + WORK_STRUCT_WQ_DATA_MASK = ~WORK_STRUCT_FLAG_MASK,
>> +};
>
> There's some great enum abuse going on here:-)
The quoted code is a standard kernel technique for creating typed
constants that are visible to the C compiler (rather than CPP) and debugger.
It is found in a great many Linux kernel drivers at this point, and is
definitely not abuse, IMO.
Jeff
--
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