* RE: jffs2_scan_eraseblock() - errors
@ 2002-07-31 23:02 Curtis, Allen
2002-08-01 10:44 ` David Woodhouse
2002-08-01 20:33 ` write suspend and/or erase suspend Joakim Tjernlund
0 siblings, 2 replies; 6+ messages in thread
From: Curtis, Allen @ 2002-07-31 23:02 UTC (permalink / raw)
To: 'David Woodhouse', Curtis, Allen
Cc: 'linux-mtd@lists.infradead.org'
> > INOCACHE_HASHSIZE was set to 1. Changed this to 128 and....
> > real 47.258s sys 47.25s
>
> It's the first (and easy) part of the proof-of-concept which involves
> moving said CRC32 check to later so the mount doesn't have to
> wait for it.
With the CRC patch:
real 36.7s
PS: The version of scan.c we are using is 1.57. The patch note was for
1.51.2.3.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: jffs2_scan_eraseblock() - errors
2002-07-31 23:02 jffs2_scan_eraseblock() - errors Curtis, Allen
@ 2002-08-01 10:44 ` David Woodhouse
2002-08-01 20:33 ` write suspend and/or erase suspend Joakim Tjernlund
1 sibling, 0 replies; 6+ messages in thread
From: David Woodhouse @ 2002-08-01 10:44 UTC (permalink / raw)
To: Curtis, Allen; +Cc: jffs-dev
(Moved to JFFS list).
Allen.Curtis@Thales-IFS.com said:
> > real 47.258s
> With the CRC patch:
> real 36.7s
OK, that's respectable. I just need to finish the other part of the change
-- to actually check the CRCs later on, rather than just leaving them
unchecked. Make sure you take the patch back out of your tree now :)
We may get a little bit more of a speedup when we do that too, as we'll also
stop building up the fragment lists for every inode on mount, but in fact
that code wasn't showing up very high on the profile last time I looked.
> PS: The version of scan.c we are using is 1.57. The patch note was for
> 1.51.2.3.
Doesn't matter; it's basically the same in both branches.
I suspect that if you profile it now you'll find the most time is taken in
your flash map driver's copy_from routine or memcpy.
I need to implement the XIP scheme which will also allow JFFS2 to directly
access the flash through a kind of pageable ioremap (which handles the times
when the flash is in a mode other than read mode correctly) instead of
having to read into a buffer and work from that. We get to use caches and
burst reads from flash at that point too.
--
dwmw2
^ permalink raw reply [flat|nested] 6+ messages in thread
* write suspend and/or erase suspend
2002-07-31 23:02 jffs2_scan_eraseblock() - errors Curtis, Allen
2002-08-01 10:44 ` David Woodhouse
@ 2002-08-01 20:33 ` Joakim Tjernlund
2002-08-01 23:31 ` David Woodhouse
1 sibling, 1 reply; 6+ messages in thread
From: Joakim Tjernlund @ 2002-08-01 20:33 UTC (permalink / raw)
To: linux-mtd
When a erase or write is suspened to allow some other part of the FS to read, is that read
garanted to read from another sector than the one that has been suspended?
I am asking since I think it's not allowed to access the sector that has a
suspended operation. I am using Intel Strata Flash.
Jocke
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: write suspend and/or erase suspend
2002-08-01 20:33 ` write suspend and/or erase suspend Joakim Tjernlund
@ 2002-08-01 23:31 ` David Woodhouse
2002-08-02 9:27 ` Joakim Tjernlund
0 siblings, 1 reply; 6+ messages in thread
From: David Woodhouse @ 2002-08-01 23:31 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: linux-mtd
Joakim.Tjernlund@lumentis.se said:
> When a erase or write is suspened to allow some other part of the FS
> to read, is that read garanted to read from another sector than the
> one that has been suspended?
> I am asking since I think it's not allowed to access the sector that
> has a suspended operation. I am using Intel Strata Flash.
Correct. Currently we don't suspend writes, but when we do we need to make
sure we get that right. Reading from a block on which an erase is in
progress is a silly idea anyway, so I don't care that we don't check for
that and make the reader wait.
--
dwmw2
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: write suspend and/or erase suspend
2002-08-01 23:31 ` David Woodhouse
@ 2002-08-02 9:27 ` Joakim Tjernlund
2002-08-02 9:42 ` David Woodhouse
0 siblings, 1 reply; 6+ messages in thread
From: Joakim Tjernlund @ 2002-08-02 9:27 UTC (permalink / raw)
To: David Woodhouse; +Cc: linux-mtd
From: "David Woodhouse" <dwmw2@infradead.org>
>
> Joakim.Tjernlund@lumentis.se said:
> > When a erase or write is suspened to allow some other part of the FS
> > to read, is that read garanted to read from another sector than the
> > one that has been suspended?
>
> > I am asking since I think it's not allowed to access the sector that
> > has a suspended operation. I am using Intel Strata Flash.
>
> Correct. Currently we don't suspend writes, but when we do we need to make
> sure we get that right. Reading from a block on which an erase is in
> progress is a silly idea anyway, so I don't care that we don't check for
> that and make the reader wait.
Yes, it's silly but can it happen by mistake? The flash state machine may be
confused if an access is made during suspend.
hmm, my modified driver also supports "suspend erase to do a write". Could that be a problem?
>
> --
> dwmw2
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: write suspend and/or erase suspend
2002-08-02 9:27 ` Joakim Tjernlund
@ 2002-08-02 9:42 ` David Woodhouse
0 siblings, 0 replies; 6+ messages in thread
From: David Woodhouse @ 2002-08-02 9:42 UTC (permalink / raw)
To: Joakim Tjernlund; +Cc: linux-mtd
Joakim.Tjernlund@lumentis.se said:
> Yes, it's silly but can it happen by mistake? The flash state machine
> may be confused if an access is made during suspend.
You'll get a buffer full of status bits, I expect. Doesn't matter -- the
contents of the block at that time are undefined because they're in the
middle of an erase.
> hmm, my modified driver also supports "suspend erase to do a write".
> Could that be a problem?
Again, only if someone's trying to write to a block they're currently
trying to erase -- which they shouldn't be doing.
We _should_ be checking for these things in the driver, and we _definitely_
have to do so before start suspending writes to perform reads. But at the
moment, the only way a user could trigger wrong behaviour is if they're
doing something bloody stupid anyway.
--
dwmw2
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2002-08-02 9:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-31 23:02 jffs2_scan_eraseblock() - errors Curtis, Allen
2002-08-01 10:44 ` David Woodhouse
2002-08-01 20:33 ` write suspend and/or erase suspend Joakim Tjernlund
2002-08-01 23:31 ` David Woodhouse
2002-08-02 9:27 ` Joakim Tjernlund
2002-08-02 9:42 ` David Woodhouse
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox