Re: [PATCH v4] introduce macro spin_event_timeout()

From: Benjamin Herrenschmidt
Date: Thu Mar 12 2009 - 23:05:33 EST



> But that's the thing - I don't want a required delay inside the loop.
>
> I guess I'm going to have to think about this for a while. I'd like
> to see something like cycles_per_usec() as a companion function to
> get_cycles().

I think that's where you're wrong :-)

Just require the delay inside the loop, it will make everything nicer.
There are also some good reasons to do that:

- The delay between "polls" of the register may have to be controlled,
for example some HW will choke if polled too fast

- If you aren't in an atomic section, you may want to use msleep() and
thus be schedule friendly

- It fixes all the problems mentioned earlier

Cheers,
Ben.

--
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/