Messages in this thread | | | Date | Thu, 13 Jun 2013 10:10:33 +0800 | From | Chen Gang <> | Subject | Re: [PATCH] kernel/softirq.c: delete 'while' looping to improve a little performance and beautify code |
| |
On 06/10/2013 10:15 PM, Thomas Gleixner wrote: > On Sun, 9 Jun 2013, Chen Gang wrote: >> > After finish the internal 'while', need not test TASKLET_STATE_SCHED >> > again, so looping back to outside 'while' is only for set_bit(). >> > >> > When use 'if' and set_bit() instead of 'while', it will save at least >> > one running conditional instruction, and also will be clearer for readers >> > (although the binary size will be a little bigger). > And by doing that you break the atomicity of test_and_set_bit. There > is a good reason why this is an atomic operation and why the code is > written as is. >
OK, thanks. it is my fault (and also sorry for replying late).
>> > The related patch is "1da177e Linux-2.6.12-rc2" > How is that patch related to the problem?
Because the modification since Linux-2.6.12-rc2.
Thanks. -- Chen Gang
Asianux Corporation
| |