Re: (*(unsigned long *)&jiffies)++;

From: Petko Manolov (petkan@spct.net)
Date: Fri Jan 07 2000 - 08:03:19 EST


Andrea Arcangeli wrote:
>
> On Fri, 7 Jan 2000, Petko Manolov wrote:
>
> >Lock don't hurt anyway.
>
> Locks definitely _hurt_ performance very badly. Locks don't scale in SMP
> so if you lock the bus all the time only once CPU between the NR_CPUS will
> run and the other will stall at the first memory bus access. Locks also
> prevents the locking-CPU to reorder instructions on IA32. locks hurt also
> in UP for this reason.

Hm, bus locks are expensive. But AFAIK lock is done only over the
accessed
address not the whole memory. And this should be true for everything
newer
than 386. So is possible CPU1 to access one _real_ address and CPU2
access
other _real_ adress at the same time.
But i'll not bet on this until i read the manuals ;-))

> >May be i am not right, but i think there was some simple instructions
> >(not only incl) that force lock before them in both cases.
>
> You are talking about xchg (and it's 64bit variant) but they are
> unrelated.

You're may be right...

Petkan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Jan 07 2000 - 21:00:09 EST