Skip to contentSkip to conversation

qla1280 & __flush_cache_all

DISCUSSION Meelis Roos 3 participants 4 messages Sep 14, 2003 – Oct 4, 2003 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 8 lines · David S. Miller
Quoted 5 lines · Meelis Roos

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?

Signature · 1 line
Meelis Roos ([email protected])
#2 lore raw
Quoted 8 lines · Meelis Roos
Quoted 6 lines
Quoted 4 lines

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

#3 lore raw
In reply to Meelis Roos
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"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

#4 lore raw
Quoted 6 lines

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.

Yes, it's flush_cache_all() that's causing problems. Current sparc64 doesn't even have flush_cache_all anymore.

Signature · 1 line
Meelis Roos ([email protected])