Re: [PATCH] mm: Implement Swap Prefetching v22

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 10 February 2006 05:04, Nikita Danilov wrote:
> Nick Piggin writes:
>
> [...]
>
>  > > +/*
>  > > + * We check to see no part of the vm is busy. If it is this will
>  > > interrupt + * trickle_swap and wait another PREFETCH_DELAY.
>  > > Purposefully racy. + */
>  > > +inline void delay_swap_prefetch(void)
>  > > +{
>  > > +	__set_bit(0, &swapped.busy);
>  > > +}
>  > > +
>  >
>  > Test this first so you don't bounce the cacheline around in page
>  > reclaim too much.
>
> Shouldn't we have special macros/inlines for this? Like, e.g.,
>
> static inline void __set_bit_weak(int nr, volatile unsigned long * addr)
> {
>         if (!__test_bit(nr, addr))
>                 __set_bit(nr, addr);
> }
>
> ? These test-then-set sequences start to proliferate throughout the code.

Maybe.

There isn't actually a non-atomic __test_bit anyway, only a test_bit. The 
non-atomic __test_and_set_bit already exists, but that sets the bit 
regardless of what the bit was as far as I can tell.

Cheers,
Con
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux