Re: [PATCH] ptrace: add ability to retrieve signals without removingfrom a queue (v2)

From: Andrey Wagin
Date: Mon Feb 25 2013 - 05:46:54 EST


2013/2/25 Pavel Emelyanov <xemul@xxxxxxxxxxxxx>:
>> + for (i = 0; i < arg.nr; i++) {
>> + off = arg.off + i;
>> +
>> + spin_lock_irq(&child->sighand->siglock);
>> + list_for_each_entry(q, &pending->list, list) {
>> + if (!off--) {
>> + copy_siginfo(&info, &q->info);
>> + break;
>> + }
>> + }
>> + spin_unlock_irq(&child->sighand->siglock);
>
> What's the point of arg.nr if you for every single siginfo drop the lock
> and perform linear search anyway?

arg.nr may be useful, if we will decide to optimize this part in a
future. Currently the problem with complexity of finding a signal in a
queue is true not only for this code. It exists for delivering
real-time signals as well. Probably in a future this problem will be
fixed for both cases by the same way.

Thanks,
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/