[Cbe-oss-dev] [patch 3/5] cell: updated driver for DDR2 memory on AXON
Maxim Shchetynin
maxim at de.ibm.com
Wed Jun 27 02:37:01 EST 2007
No, I mean azfs - a tiny filesystem which we have written for Axon DDR. It
provides direct access from user to DDR2 without use of any buffer-methods
nor readahead, which saves us some performance by getting rid of
unnecessary memory to memory copies.
Mit freundlichen Grüßen / met vriendelijke groeten / avec regards
Maxim V. Shchetynin
Linux Kernel Entwicklung
IBM Deutschland Entwicklung GmbH
Linux für Cell, Abteilung 3250
Schönaicher Straße 220
71032 Böblingen
Vorsitzender des Aufsichtsrats: Johann Weihen
Geschäftsführung: Herbert Kircher
Sitz der Gesellschaft: Böblingen
Registriergericht: Amtsgericht Stuttgart, HRB 243294
Fahr nur so schnell wie dein Schutzengel fliegen kann!
Jean-Christophe
Dubois
<jdubois at mc.com> To
cbe-oss-dev at ozlabs.org
26.06.2007 17:19 cc
Maxim Shchetynin/Germany/IBM at IBMDE,
Arnd Bergmann <arnd at arndb.de>,
powerpc-dev at ozlabs.org
Subject
Re: [Cbe-oss-dev] [patch 3/5] cell:
updated driver for DDR2 memory on
AXON
On Tuesday 26 June 2007 16:57:11 Maxim Shchetynin wrote:
> Hi,
>
> Actually, axon_ram's direct_access method would not be used by ext2 at
all
> - ext2 feels comfortable with make_request().
hum ... ext2 seems to be the only file system in the kernel tree able to
use
the direct_access. And if you mount it with "xip" on the axonram block
device, it will fail. This should be fixed somehow ...
> We have the direct_access method here only because it is needed for the
> azfs file-system, which we recommend to use for accessing the Axon's RAM
> rather then ext2 or any other buffered file-systems.
Do you mean ZFS (http://www.wizy.org/wiki/ZFS_on_FUSE)? Or something else?
JC
> Mit freundlichen Grüßen / met vriendelijke groeten / avec regards
>
> Maxim V. Shchetynin
> Linux Kernel Entwicklung
> IBM Deutschland Entwicklung GmbH
> Linux für Cell, Abteilung 3250
> Schönaicher Straße 220
> 71032 Böblingen
>
> Vorsitzender des Aufsichtsrats: Johann Weihen
> Geschäftsführung: Herbert Kircher
> Sitz der Gesellschaft: Böblingen
> Registriergericht: Amtsgericht Stuttgart, HRB 243294
>
> Fahr nur so schnell wie dein Schutzengel fliegen kann!
>
> On Tuesday 26 June 2007, Christophe Lamoureux wrote:
> > > +/**
> > > + * axon_ram_direct_access - direct_access() method for block device
> > > + * @device, @sector, @data: see block_device_operations method
> > > + */
> > > +static int
> > > +axon_ram_direct_access(struct block_device *device, sector_t sector,
> > > + unsigned long *data)
> > > +{
> > > + struct axon_ram_bank *bank = device->bd_disk->private_data;
> > > + loff_t offset;
> > > +
> > > + offset = sector << AXON_RAM_SECTOR_SHIFT;
> > > + if (offset >= bank->size) {
> > > + dev_err(&bank->device->dev, "Access outside of address space\n");
> > > + return -ERANGE;
> > > + }
> > > +
> > > + *data = bank->ph_addr + offset;
> > > +
> > > + return 0;
> > > +}
> >
> > By looking the ext2 implementation in 2.6.21 and doing some trials (
this
>
> is
>
> > the only file-system that looks to use the direct_access method of
block
> > device ) I do not understand how this direct access function (
> > axon_ram_direct_access ) implementation could work.
> >
> > The value of *data returned is a physical address of the DDR as seen
from
>
> the
>
> > PPU ( something like 0x100_0000_0000+ offset )
> >
> > The method ext2_clear_xip_target() will call clear_page() with this
>
> physical
>
> > address. This does not work.
> >
> > There is the same kind of issue later in method ext2_get_xip_page()
with
> > virt_to_page() with the physical address.
> >
> > Note, that if the line
> >
> > *data = bank->ph_addr + offset;
> >
> > in axon_ram_direct_access is changed to
> >
> > *data = bank->io_addr + offset;
> >
> > the issue in ext2_clear_xip_target() --> clear_page() would be
corrected
>
> but
>
> > the ext2_get_xip_page() --> virt_to_page() would not work as the
virtual
> >
> > address given would be the result of a ioremap_flags().
> >
> > Did I misunderstood or miss something ?
>
> From looking at the code, I'd say you are right. Maxim, could you give
> Christoph
> some insight on this?
>
> Arnd <><
>
>
> _______________________________________________
> cbe-oss-dev mailing list
> cbe-oss-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/cbe-oss-dev
More information about the cbe-oss-dev
mailing list