2003-09-14 13:39:31

by Meelis Roos

[permalink] [raw]
Subject: qla1280 & __flush_cache_all

On Thu, 11 Sep 2003, David S. Miller wrote:

> Meelis Roos <[email protected]> wrote:
> >
> > Is __flush_cache_all an universal thing or just platform-specific?
> > qla1280 seems to have started using it and it does not link on sparc64.
> >
> > *** Warning: "__flush_cache_all" [drivers/scsi/qla1280.ko] undefined!
>
> There is no reason a scsi driver should be invoking that interface.

So why is qla1280 in 2.6-current using __flush_cache_all?

--
Meelis Roos ([email protected])


2003-09-14 20:46:39

by Ralf Baechle

[permalink] [raw]
Subject: Re: qla1280 & __flush_cache_all

On Sun, Sep 14, 2003 at 02:11:45PM +0300, Meelis Roos wrote:

> > > Is __flush_cache_all an universal thing or just platform-specific?
> > > qla1280 seems to have started using it and it does not link on sparc64.
> > >
> > > *** Warning: "__flush_cache_all" [drivers/scsi/qla1280.ko] undefined!
> >
> > There is no reason a scsi driver should be invoking that interface.
>
> So why is qla1280 in 2.6-current using __flush_cache_all?

Huh?

[ralf@dea linux-ci]$ grep -r __flush_cache_all drivers/scsi
[ralf@dea linux-ci]$ head Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION = -test5

You probably get this reference to __flush_cache_all() via the Sparc64
<asm/cacheflush.h>. Still the cacheflushing in the driver is broken;
the routines in <asm/cacheflush.h> are meant only to maintain cache
coherency wrt. memory managment.

Ralf

2003-09-15 14:16:56

by Jes Sorensen

[permalink] [raw]
Subject: Re: qla1280 & __flush_cache_all

>>>>> "Meelis" == Meelis Roos <[email protected]> writes:

Meelis> So why is qla1280 in 2.6-current using __flush_cache_all?

The driver is calling flush_cache_all() not __flush_cache_all(), the
__ thing is an architecture specific issue.

Yes it's a lazy approach left over from the old codebase.

Cheers,
Jes