Re: cpu_relax() usage in raid6algos.c

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

 



On Thu, 9 Sep 2010 18:55:12 -0700
Drew <drew.kay@xxxxxxxxx> wrote:

> Hi,
> 
> I was going through the raid6 code in 2.6.35 and I came across an
> empty function definition for cpu_relax() in include/linux/raid/pq.h
> (line 135) that appears to be called in drivers/md/raid6algos.c (line
> 113). My C code skills are a bit rusty but I'm assuming the
> cpu_relax() call in raid6algos.c uses the definition in pq.h.
> 
> If so, why is cpu_relax() in pq.h an empty function when there's
> already a definition for cpu_relax() in
> arch/x86/include/asm/processor.h?
> 
> Conversely, if the cpu_relax() function call in raid6algos.c uses the
> definition in processor.h, why do we have a second definition in pq.h?
> 
> It strikes me that if the purpose of cpu_relax() is to signal the
> kernel that we're not doing anything, why create our own empty
> function when there's already one that is correct across all supported
> architectures?
> 


That is inside 
#ifndef __KERNEL__
#endif

and so is not used when compiling the kernel.  It is used when compiling the
same code into a user-space test program.

Thanks for the review though.

NeilBrown
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux