* [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
@ 2010-11-03 10:55 Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature Roman Tereshonkov
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-03 10:55 UTC (permalink / raw)
To: linux-mtd; +Cc: kyungmin.park, Roman Tereshonkov
Implement cache program feature for 4KB page onenand.
This feature improves the write data performance.
The observed 128KB data program speed change is
from 8827KB/s to 14156 KB/s when the feature is enabled.
Roman Tereshonkov (3):
mtd: onenand: add option and variable for cache program feature
mtd: onenand: fix omap2 code to handle cache program feature
mtd: onenand: implement cache program feature for 4kb page onenand
drivers/mtd/onenand/omap2.c | 12 +++++++++---
drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
include/linux/mtd/onenand.h | 12 ++++++++++++
3 files changed, 40 insertions(+), 6 deletions(-)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
@ 2010-11-03 10:55 ` Roman Tereshonkov
2010-11-03 11:06 ` Kyungmin Park
2010-11-03 10:55 ` [PATCHv2 2/3] mtd: onenand: fix omap2 code to handle " Roman Tereshonkov
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-03 10:55 UTC (permalink / raw)
To: linux-mtd; +Cc: kyungmin.park, Roman Tereshonkov
A new option is added for cache program feature. A new variable
ongoing is introduced for onenand_chip to handle the multi-command
cache program operation.
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
---
include/linux/mtd/onenand.h | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h
index 0c8815b..6da3fe3 100644
--- a/include/linux/mtd/onenand.h
+++ b/include/linux/mtd/onenand.h
@@ -137,6 +137,14 @@ struct onenand_chip {
void *bbm;
void *priv;
+
+ /*
+ * Shows that the current operation is composed
+ * of sequence of commands. For example, cache program.
+ * Such command status OnGo bit is checked at the end of
+ * sequence.
+ */
+ unsigned int ongoing;
};
/*
@@ -171,6 +179,9 @@ struct onenand_chip {
#define ONENAND_IS_2PLANE(this) (0)
#endif
+#define ONENAND_IS_CACHE_PROGRAM(this) \
+ (this->options & ONENAND_HAS_CACHE_PROGRAM)
+
/* Check byte access in OneNAND */
#define ONENAND_CHECK_BYTE_ACCESS(addr) (addr & 0x1)
@@ -181,6 +192,7 @@ struct onenand_chip {
#define ONENAND_HAS_UNLOCK_ALL (0x0002)
#define ONENAND_HAS_2PLANE (0x0004)
#define ONENAND_HAS_4KB_PAGE (0x0008)
+#define ONENAND_HAS_CACHE_PROGRAM (0x0010)
#define ONENAND_SKIP_UNLOCK_CHECK (0x0100)
#define ONENAND_PAGEBUF_ALLOC (0x1000)
#define ONENAND_OOBBUF_ALLOC (0x2000)
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCHv2 2/3] mtd: onenand: fix omap2 code to handle cache program feature
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature Roman Tereshonkov
@ 2010-11-03 10:55 ` Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand Roman Tereshonkov
` (2 subsequent siblings)
4 siblings, 0 replies; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-03 10:55 UTC (permalink / raw)
To: linux-mtd; +Cc: kyungmin.park, Roman Tereshonkov
Some fixes are introduced into omap2 code to handle errors when
cache program feature is used.
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
---
drivers/mtd/onenand/omap2.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
index 9f322f1..da25a90 100644
--- a/drivers/mtd/onenand/omap2.c
+++ b/drivers/mtd/onenand/omap2.c
@@ -108,8 +108,9 @@ static void wait_warn(char *msg, int state, unsigned int ctrl,
static int omap2_onenand_wait(struct mtd_info *mtd, int state)
{
struct omap2_onenand *c = container_of(mtd, struct omap2_onenand, mtd);
+ struct onenand_chip *this = mtd->priv;
unsigned int intr = 0;
- unsigned int ctrl;
+ unsigned int ctrl, ctrl_mask;
unsigned long timeout;
u32 syscfg;
@@ -180,7 +181,8 @@ retry:
if (result == 0) {
/* Timeout after 20ms */
ctrl = read_reg(c, ONENAND_REG_CTRL_STATUS);
- if (ctrl & ONENAND_CTRL_ONGO) {
+ if (ctrl & ONENAND_CTRL_ONGO &&
+ !this->ongoing) {
/*
* The operation seems to be still going
* so give it some more time.
@@ -269,7 +271,11 @@ retry:
return -EIO;
}
- if (ctrl & 0xFE9F)
+ ctrl_mask = 0xFE9F;
+ if (this->ongoing)
+ ctrl_mask &= ~0x8000;
+
+ if (ctrl & ctrl_mask)
wait_warn("unexpected controller status", state, ctrl, intr);
return 0;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 2/3] mtd: onenand: fix omap2 code to handle " Roman Tereshonkov
@ 2010-11-03 10:55 ` Roman Tereshonkov
2010-11-03 11:05 ` Kyungmin Park
2010-11-04 1:14 ` [PATCHv2 0/3] mtd: onenand: add " Kyungmin Park
2010-11-13 12:01 ` Artem Bityutskiy
4 siblings, 1 reply; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-03 10:55 UTC (permalink / raw)
To: linux-mtd; +Cc: kyungmin.park, Roman Tereshonkov
Implement cache program feature for 4KB page onenand.
This feature improves the write data performance.
The observed 128KB data program speed change is
from 8827KB/s to 14156 KB/s when the feature is enabled.
Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
---
drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 6b3a875..4d6e6c5 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -1845,7 +1845,7 @@ static int onenand_write_ops_nolock(struct mtd_info *mtd, loff_t to,
const u_char *buf = ops->datbuf;
const u_char *oob = ops->oobbuf;
u_char *oobbuf;
- int ret = 0;
+ int ret = 0, cmd;
DEBUG(MTD_DEBUG_LEVEL3, "%s: to = 0x%08x, len = %i\n",
__func__, (unsigned int) to, (int) len);
@@ -1954,7 +1954,19 @@ static int onenand_write_ops_nolock(struct mtd_info *mtd, loff_t to,
ONENAND_SET_NEXT_BUFFERRAM(this);
}
- this->command(mtd, ONENAND_CMD_PROG, to, mtd->writesize);
+ this->ongoing = 0;
+ cmd = ONENAND_CMD_PROG;
+
+ /* Exclude 1st OTP and OTP blocks for cache program feature */
+ if (ONENAND_IS_CACHE_PROGRAM(this) &&
+ likely(onenand_block(this, to) != 0) &&
+ ONENAND_IS_4KB_PAGE(this) &&
+ ((written + thislen) < len)) {
+ cmd = ONENAND_CMD_2X_CACHE_PROG;
+ this->ongoing = 1;
+ }
+
+ this->command(mtd, cmd, to, mtd->writesize);
/*
* 2 PLANE, MLC, and Flex-OneNAND wait here
@@ -3377,8 +3389,10 @@ static void onenand_check_features(struct mtd_info *mtd)
case ONENAND_DEVICE_DENSITY_4Gb:
if (ONENAND_IS_DDP(this))
this->options |= ONENAND_HAS_2PLANE;
- else if (numbufs == 1)
+ else if (numbufs == 1) {
this->options |= ONENAND_HAS_4KB_PAGE;
+ this->options |= ONENAND_HAS_CACHE_PROGRAM;
+ }
case ONENAND_DEVICE_DENSITY_2Gb:
/* 2Gb DDP does not have 2 plane */
@@ -3415,6 +3429,8 @@ static void onenand_check_features(struct mtd_info *mtd)
printk(KERN_DEBUG "Chip has 2 plane\n");
if (this->options & ONENAND_HAS_4KB_PAGE)
printk(KERN_DEBUG "Chip has 4KiB pagesize\n");
+ if (this->options & ONENAND_HAS_CACHE_PROGRAM)
+ printk(KERN_DEBUG "Chip has cache program feature\n");
}
/**
--
1.7.0.4
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand
2010-11-03 10:55 ` [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand Roman Tereshonkov
@ 2010-11-03 11:05 ` Kyungmin Park
0 siblings, 0 replies; 13+ messages in thread
From: Kyungmin Park @ 2010-11-03 11:05 UTC (permalink / raw)
To: Roman Tereshonkov; +Cc: linux-mtd
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
<roman.tereshonkov@nokia.com> wrote:
> Implement cache program feature for 4KB page onenand.
> This feature improves the write data performance.
> The observed 128KB data program speed change is
> from 8827KB/s to 14156 KB/s when the feature is enabled.
>
> Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
> ---
> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
> 1 files changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
> index 6b3a875..4d6e6c5 100644
> --- a/drivers/mtd/onenand/onenand_base.c
> +++ b/drivers/mtd/onenand/onenand_base.c
> @@ -1845,7 +1845,7 @@ static int onenand_write_ops_nolock(struct mtd_info *mtd, loff_t to,
> const u_char *buf = ops->datbuf;
> const u_char *oob = ops->oobbuf;
> u_char *oobbuf;
> - int ret = 0;
> + int ret = 0, cmd;
>
> DEBUG(MTD_DEBUG_LEVEL3, "%s: to = 0x%08x, len = %i\n",
> __func__, (unsigned int) to, (int) len);
> @@ -1954,7 +1954,19 @@ static int onenand_write_ops_nolock(struct mtd_info *mtd, loff_t to,
> ONENAND_SET_NEXT_BUFFERRAM(this);
> }
>
> - this->command(mtd, ONENAND_CMD_PROG, to, mtd->writesize);
> + this->ongoing = 0;
> + cmd = ONENAND_CMD_PROG;
> +
> + /* Exclude 1st OTP and OTP blocks for cache program feature */
> + if (ONENAND_IS_CACHE_PROGRAM(this) &&
> + likely(onenand_block(this, to) != 0) &&
> + ONENAND_IS_4KB_PAGE(this) &&
> + ((written + thislen) < len)) {
> + cmd = ONENAND_CMD_2X_CACHE_PROG;
> + this->ongoing = 1;
> + }
> +
> + this->command(mtd, cmd, to, mtd->writesize);
>
> /*
> * 2 PLANE, MLC, and Flex-OneNAND wait here
> @@ -3377,8 +3389,10 @@ static void onenand_check_features(struct mtd_info *mtd)
> case ONENAND_DEVICE_DENSITY_4Gb:
> if (ONENAND_IS_DDP(this))
> this->options |= ONENAND_HAS_2PLANE;
> - else if (numbufs == 1)
> + else if (numbufs == 1) {
> this->options |= ONENAND_HAS_4KB_PAGE;
> + this->options |= ONENAND_HAS_CACHE_PROGRAM;
> + }
>
> case ONENAND_DEVICE_DENSITY_2Gb:
> /* 2Gb DDP does not have 2 plane */
> @@ -3415,6 +3429,8 @@ static void onenand_check_features(struct mtd_info *mtd)
> printk(KERN_DEBUG "Chip has 2 plane\n");
> if (this->options & ONENAND_HAS_4KB_PAGE)
> printk(KERN_DEBUG "Chip has 4KiB pagesize\n");
> + if (this->options & ONENAND_HAS_CACHE_PROGRAM)
> + printk(KERN_DEBUG "Chip has cache program feature\n");
> }
>
> /**
> --
> 1.7.0.4
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature
2010-11-03 10:55 ` [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature Roman Tereshonkov
@ 2010-11-03 11:06 ` Kyungmin Park
0 siblings, 0 replies; 13+ messages in thread
From: Kyungmin Park @ 2010-11-03 11:06 UTC (permalink / raw)
To: Roman Tereshonkov; +Cc: linux-mtd
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
<roman.tereshonkov@nokia.com> wrote:
> A new option is added for cache program feature. A new variable
> ongoing is introduced for onenand_chip to handle the multi-command
> cache program operation.
>
> Signed-off-by: Roman Tereshonkov <roman.tereshonkov@nokia.com>
> ---
> include/linux/mtd/onenand.h | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/mtd/onenand.h b/include/linux/mtd/onenand.h
> index 0c8815b..6da3fe3 100644
> --- a/include/linux/mtd/onenand.h
> +++ b/include/linux/mtd/onenand.h
> @@ -137,6 +137,14 @@ struct onenand_chip {
> void *bbm;
>
> void *priv;
> +
> + /*
> + * Shows that the current operation is composed
> + * of sequence of commands. For example, cache program.
> + * Such command status OnGo bit is checked at the end of
> + * sequence.
> + */
> + unsigned int ongoing;
> };
>
> /*
> @@ -171,6 +179,9 @@ struct onenand_chip {
> #define ONENAND_IS_2PLANE(this) (0)
> #endif
>
> +#define ONENAND_IS_CACHE_PROGRAM(this) \
> + (this->options & ONENAND_HAS_CACHE_PROGRAM)
> +
> /* Check byte access in OneNAND */
> #define ONENAND_CHECK_BYTE_ACCESS(addr) (addr & 0x1)
>
> @@ -181,6 +192,7 @@ struct onenand_chip {
> #define ONENAND_HAS_UNLOCK_ALL (0x0002)
> #define ONENAND_HAS_2PLANE (0x0004)
> #define ONENAND_HAS_4KB_PAGE (0x0008)
> +#define ONENAND_HAS_CACHE_PROGRAM (0x0010)
> #define ONENAND_SKIP_UNLOCK_CHECK (0x0100)
> #define ONENAND_PAGEBUF_ALLOC (0x1000)
> #define ONENAND_OOBBUF_ALLOC (0x2000)
> --
> 1.7.0.4
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
` (2 preceding siblings ...)
2010-11-03 10:55 ` [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand Roman Tereshonkov
@ 2010-11-04 1:14 ` Kyungmin Park
2010-11-04 8:58 ` roman.tereshonkov
2010-11-13 12:01 ` Artem Bityutskiy
4 siblings, 1 reply; 13+ messages in thread
From: Kyungmin Park @ 2010-11-04 1:14 UTC (permalink / raw)
To: Roman Tereshonkov; +Cc: linux-mtd
Hi,
One concern is that after apply patch, there are some 1-bit ECC
warnings so UBI scrubbing messages are displayed.
Are there these message at your board?
Thank you,
Kyungmin Park
On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
<roman.tereshonkov@nokia.com> wrote:
> Implement cache program feature for 4KB page onenand.
> This feature improves the write data performance.
> The observed 128KB data program speed change is
> from 8827KB/s to 14156 KB/s when the feature is enabled.
>
> Roman Tereshonkov (3):
> mtd: onenand: add option and variable for cache program feature
> mtd: onenand: fix omap2 code to handle cache program feature
> mtd: onenand: implement cache program feature for 4kb page onenand
>
> drivers/mtd/onenand/omap2.c | 12 +++++++++---
> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
> include/linux/mtd/onenand.h | 12 ++++++++++++
> 3 files changed, 40 insertions(+), 6 deletions(-)
>
>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-04 1:14 ` [PATCHv2 0/3] mtd: onenand: add " Kyungmin Park
@ 2010-11-04 8:58 ` roman.tereshonkov
2010-11-04 9:10 ` Kyungmin Park
0 siblings, 1 reply; 13+ messages in thread
From: roman.tereshonkov @ 2010-11-04 8:58 UTC (permalink / raw)
To: kyungmin.park; +Cc: linux-mtd
Hi,
I used driver/mtd/tests and did not observe any warnings except a couple of bad blocks for some boards.
Can you discribe your test case for me to reproduce it. And show your kernel log when it happens if possible?
Is it for 2kb or 4kb page onenand?
Regards
Roman Tereshonkov
>-----Original Message-----
>From: kyungmin78@gmail.com [mailto:kyungmin78@gmail.com] On
>Behalf Of ext Kyungmin Park
>Sent: 04 November, 2010 03:15
>To: Tereshonkov Roman (Nokia-MS/Helsinki)
>Cc: linux-mtd@lists.infradead.org
>Subject: Re: [PATCHv2 0/3] mtd: onenand: add cache program
>feature for 4kb page onenand
>
>Hi,
>
>One concern is that after apply patch, there are some 1-bit ECC
>warnings so UBI scrubbing messages are displayed.
>
>Are there these message at your board?
>
>Thank you,
>Kyungmin Park
>
>On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
><roman.tereshonkov@nokia.com> wrote:
>> Implement cache program feature for 4KB page onenand.
>> This feature improves the write data performance.
>> The observed 128KB data program speed change is
>> from 8827KB/s to 14156 KB/s when the feature is enabled.
>>
>> Roman Tereshonkov (3):
>> mtd: onenand: add option and variable for cache program feature
>> mtd: onenand: fix omap2 code to handle cache program feature
>> mtd: onenand: implement cache program feature for 4kb page onenand
>>
>> drivers/mtd/onenand/omap2.c | 12 +++++++++---
>> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
>> include/linux/mtd/onenand.h | 12 ++++++++++++
>> 3 files changed, 40 insertions(+), 6 deletions(-)
>>
>>
>> ______________________________________________________
>> Linux MTD discussion mailing list
>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-04 8:58 ` roman.tereshonkov
@ 2010-11-04 9:10 ` Kyungmin Park
2010-11-04 12:40 ` Roman Tereshonkov
0 siblings, 1 reply; 13+ messages in thread
From: Kyungmin Park @ 2010-11-04 9:10 UTC (permalink / raw)
To: roman.tereshonkov; +Cc: linux-mtd
On Thu, Nov 4, 2010 at 5:58 PM, <roman.tereshonkov@nokia.com> wrote:
>
> Hi,
>
>
> I used driver/mtd/tests and did not observe any warnings except a couple of bad blocks for some boards.
Yes in case of mtd_test* there's no messages.
>
> Can you discribe your test case for me to reproduce it. And show your kernel log when it happens if possible?
> Is it for 2kb or 4kb page onenand?
Mount ubifs on OneNAND which has 4KiB pagesize and run fsstress -p 3
-n 1000000000 -d /ubifs
then you can or maybe see the UBI scrubbing message.
Thank you,
Kyungmin Park
>
>
> Regards
> Roman Tereshonkov
>
>
>>-----Original Message-----
>>From: kyungmin78@gmail.com [mailto:kyungmin78@gmail.com] On
>>Behalf Of ext Kyungmin Park
>>Sent: 04 November, 2010 03:15
>>To: Tereshonkov Roman (Nokia-MS/Helsinki)
>>Cc: linux-mtd@lists.infradead.org
>>Subject: Re: [PATCHv2 0/3] mtd: onenand: add cache program
>>feature for 4kb page onenand
>>
>>Hi,
>>
>>One concern is that after apply patch, there are some 1-bit ECC
>>warnings so UBI scrubbing messages are displayed.
>>
>>Are there these message at your board?
>>
>>Thank you,
>>Kyungmin Park
>>
>>On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
>><roman.tereshonkov@nokia.com> wrote:
>>> Implement cache program feature for 4KB page onenand.
>>> This feature improves the write data performance.
>>> The observed 128KB data program speed change is
>>> from 8827KB/s to 14156 KB/s when the feature is enabled.
>>>
>>> Roman Tereshonkov (3):
>>> mtd: onenand: add option and variable for cache program feature
>>> mtd: onenand: fix omap2 code to handle cache program feature
>>> mtd: onenand: implement cache program feature for 4kb page onenand
>>>
>>> drivers/mtd/onenand/omap2.c | 12 +++++++++---
>>> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
>>> include/linux/mtd/onenand.h | 12 ++++++++++++
>>> 3 files changed, 40 insertions(+), 6 deletions(-)
>>>
>>>
>>> ______________________________________________________
>>> Linux MTD discussion mailing list
>>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>>>
>>
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-04 9:10 ` Kyungmin Park
@ 2010-11-04 12:40 ` Roman Tereshonkov
2010-11-04 12:47 ` Kyungmin Park
0 siblings, 1 reply; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-04 12:40 UTC (permalink / raw)
To: ext Kyungmin Park; +Cc: linux-mtd
Hi Park,
I tried several times
fsstress -p 3 -n 10000 -d /mnt/ubifs
for 28 MB onenand partition. No warnings observed.
The logs are below.
# modprobe ubi mtd=4
[ 101.013549] UBI: attaching mtd4 to ubi0
[ 101.017486] UBI: physical eraseblock size: 262144 bytes (256 KiB)
[ 101.023895] UBI: logical eraseblock size: 253952 bytes
[ 101.029510] UBI: smallest flash I/O unit: 4096
[ 101.034271] UBI: VID header offset: 4096 (aligned 4096)
[ 101.040405] UBI: data offset: 8192
[ 101.054565] UBI: empty MTD device detected
[ 101.058868] UBI: create volume table (copy #1)
[ 101.067504] UBI: create volume table (copy #2)
[ 101.077239] UBI: attached mtd4 to ubi0
[ 101.081054] UBI: MTD device name: "swap"
[ 101.086090] UBI: MTD device size: 32 MiB
[ 101.091033] UBI: number of good PEBs: 123
[ 101.095733] UBI: number of bad PEBs: 5
[ 101.100280] UBI: max. allowed volumes: 128
[ 101.104949] UBI: wear-leveling threshold: 8192
[ 101.109771] UBI: number of internal volumes: 1
[ 101.114257] UBI: number of user volumes: 0
[ 101.118804] UBI: available PEBs: 117
[ 101.123504] UBI: total number of reserved PEBs: 6
[ 101.128295] UBI: number of PEBs reserved for bad PEB handling: 2
[ 101.134399] UBI: max/mean erase counter: 0/0
[ 101.138763] UBI: image sequence number: 0
[ 101.142852] UBI: background thread "ubi_bgt0d" started, PID 104
[ 101.150085] modprobe used greatest stack depth: 6068 bytes left
# modprobe ubifs
# ubimkvol /dev/ubi0 -N test -m
Set volume size to 29712384
Volume ID 0, size 117 LEBs (29712384 bytes, 28.3 MiB), LEB size [ 111.348449] ubimkvol used greatest stack depth: 5820 bytes left
253952 bytes (248.0 KiB), dynamic, name "test", alignment 1
#mount -t ubifs ubi0_0 /mnt/ubifs
[ 133.515991] UBIFS: default file-system created
[ 133.565490] UBIFS: mounted UBI device 0, volume 0, name "test"
[ 133.571594] UBIFS: file system size: 27426816 bytes (26784 KiB, 26 MiB, 108 LEBs)
[ 133.579406] UBIFS: journal size: 2031617 bytes (1984 KiB, 1 MiB, 6 LEBs)
[ 133.586791] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 133.592712] UBIFS: default compressor: lzo
[ 133.596893] UBIFS: reserved for root: 1295435 bytes (1265 KiB)
[ 133.604675] mount used greatest stack depth: 5768 bytes left
# fsstress -p 3 -n 10 -d /mnt/ubifs
seed = 397323
# fsstress -p 3 -n 100 -d /mnt/ubifs
seed = 826848
# fsstress -p 3 -n 1000 -d /mnt/ubifs
seed = 209658
# fsstress -p 3 -n 10000 -d /mnt/ubifs
seed = 748381
#
mtd_speedtest gives no warnings also. Only bad block related errors:
# insmod mtd_speedtest.ko dev=4
[ 23.759948]
[ 23.761505] =================================================
[ 23.767639] mtd_speedtest: MTD device: 4
[ 23.771728] mtd_speedtest: MTD device size 33554432, eraseblock size 262144, page size 4096, count of eraseblocks 128, pages per eraseblock 64, OOB size 128
[ 23.800933] mtd_speedtest: scanning for bad eraseblocks
[ 23.808441] Bad eraseblock 42 at 0x00a80000
[ 23.812713] mtd_speedtest: block 22 is bad
[ 23.818542] Bad eraseblock 60 at 0x00f00000
[ 23.822814] mtd_speedtest: block 40 is bad
[ 23.827423] Bad eraseblock 65 at 0x01040000
[ 23.831665] mtd_speedtest: block 45 is bad
[ 23.837860] Bad eraseblock 87 at 0x015c0000
[ 23.842163] mtd_speedtest: block 67 is bad
[ 23.850891] Bad eraseblock 136 at 0x02200000
[ 23.855224] mtd_speedtest: block 116 is bad
[ 23.860534] mtd_speedtest: scanned 128 eraseblocks, 5 are bad
[ 24.010498] mtd_speedtest: testing eraseblock write speed
[ 26.267669] mtd_speedtest: eraseblock write speed is 13988 KiB/s
[ 26.273803] mtd_speedtest: testing eraseblock read speed
[ 27.286437] mtd_speedtest: eraseblock read speed is 31269 KiB/s
[ 27.430114] mtd_speedtest: testing page write speed
[ 36.082855] mtd_speedtest: page write speed is 3641 KiB/s
[ 36.088409] mtd_speedtest: testing page read speed
[ 37.086517] mtd_speedtest: page read speed is 31678 KiB/s
[ 37.444854] mtd_speedtest: testing 2 page write speed
[ 60.709533] mtd_speedtest: 2 page write speed is 1353 KiB/s
[ 60.715148] mtd_speedtest: testing 2 page read speed
[ 61.624176] mtd_speedtest: 2 page read speed is 34870 KiB/s
[ 61.629791] mtd_speedtest: Testing erase speed
[ 61.868347] mtd_speedtest: erase speed is 133991 KiB/s
[ 61.873565] mtd_speedtest: finished
[ 61.877105] =================================================
Regards
Roman Tereshonkov
On Thu, Nov 04, 2010 at 10:10:36AM +0100, ext Kyungmin Park wrote:
> On Thu, Nov 4, 2010 at 5:58 PM, <roman.tereshonkov@nokia.com> wrote:
> >
> > Hi,
> >
> >
> > I used driver/mtd/tests and did not observe any warnings except a couple of bad blocks for some boards.
> Yes in case of mtd_test* there's no messages.
> >
> > Can you discribe your test case for me to reproduce it. And show your kernel log when it happens if possible?
> > Is it for 2kb or 4kb page onenand?
>
> Mount ubifs on OneNAND which has 4KiB pagesize and run fsstress -p 3
> -n 1000000000 -d /ubifs
>
> then you can or maybe see the UBI scrubbing message.
>
> Thank you,
> Kyungmin Park
> >
> >
> > Regards
> > Roman Tereshonkov
> >
> >
> >>-----Original Message-----
> >>From: kyungmin78@gmail.com [mailto:kyungmin78@gmail.com] On
> >>Behalf Of ext Kyungmin Park
> >>Sent: 04 November, 2010 03:15
> >>To: Tereshonkov Roman (Nokia-MS/Helsinki)
> >>Cc: linux-mtd@lists.infradead.org
> >>Subject: Re: [PATCHv2 0/3] mtd: onenand: add cache program
> >>feature for 4kb page onenand
> >>
> >>Hi,
> >>
> >>One concern is that after apply patch, there are some 1-bit ECC
> >>warnings so UBI scrubbing messages are displayed.
> >>
> >>Are there these message at your board?
> >>
> >>Thank you,
> >>Kyungmin Park
> >>
> >>On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
> >><roman.tereshonkov@nokia.com> wrote:
> >>> Implement cache program feature for 4KB page onenand.
> >>> This feature improves the write data performance.
> >>> The observed 128KB data program speed change is
> >>> from 8827KB/s to 14156 KB/s when the feature is enabled.
> >>>
> >>> Roman Tereshonkov (3):
> >>> mtd: onenand: add option and variable for cache program feature
> >>> mtd: onenand: fix omap2 code to handle cache program feature
> >>> mtd: onenand: implement cache program feature for 4kb page onenand
> >>>
> >>> drivers/mtd/onenand/omap2.c | 12 +++++++++---
> >>> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
> >>> include/linux/mtd/onenand.h | 12 ++++++++++++
> >>> 3 files changed, 40 insertions(+), 6 deletions(-)
> >>>
> >>>
> >>> ______________________________________________________
> >>> Linux MTD discussion mailing list
> >>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> >>>
> >>
> > ______________________________________________________
> > Linux MTD discussion mailing list
> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
> >
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-04 12:40 ` Roman Tereshonkov
@ 2010-11-04 12:47 ` Kyungmin Park
2010-11-05 11:12 ` Roman Tereshonkov
0 siblings, 1 reply; 13+ messages in thread
From: Kyungmin Park @ 2010-11-04 12:47 UTC (permalink / raw)
To: Roman Tereshonkov; +Cc: ext Kyungmin Park, linux-mtd
[-- Attachment #1: Type: text/plain, Size: 7418 bytes --]
I think it has some slow write performance since two page write is lower
than one page. It means cache program is not work as expected.
That's reason no warning message. In my case I enabled the sync write and
get 10MiB or more performance. Please see my speedtest result.
Thank you,
Kyungmin Park
Sent from Android
On Nov 4, 2010 9:40 PM, "Roman Tereshonkov" <roman.tereshonkov@nokia.com>
wrote:
>
> Hi Park,
>
> I tried several times
> fsstress -p 3 -n 10000 -d /mnt/ubifs
> for 28 MB onenand partition. No warnings observed.
> The logs are below.
>
>
> # modprobe ubi mtd=4
> [ 101.013549] UBI: attaching mtd4 to ubi0
> [ 101.017486] UBI: physical eraseblock size: 262144 bytes (256 KiB)
> [ 101.023895] UBI: logical eraseblock size: 253952 bytes
> [ 101.029510] UBI: smallest flash I/O unit: 4096
> [ 101.034271] UBI: VID header offset: 4096 (aligned 4096)
> [ 101.040405] UBI: data offset: 8192
> [ 101.054565] UBI: empty MTD device detected
> [ 101.058868] UBI: create volume table (copy #1)
> [ 101.067504] UBI: create volume table (copy #2)
> [ 101.077239] UBI: attached mtd4 to ubi0
> [ 101.081054] UBI: MTD device name: "swap"
> [ 101.086090] UBI: MTD device size: 32 MiB
> [ 101.091033] UBI: number of good PEBs: 123
> [ 101.095733] UBI: number of bad PEBs: 5
> [ 101.100280] UBI: max. allowed volumes: 128
> [ 101.104949] UBI: wear-leveling threshold: 8192
> [ 101.109771] UBI: number of internal volumes: 1
> [ 101.114257] UBI: number of user volumes: 0
> [ 101.118804] UBI: available PEBs: 117
> [ 101.123504] UBI: total number of reserved PEBs: 6
> [ 101.128295] UBI: number of PEBs reserved for bad PEB handling: 2
> [ 101.134399] UBI: max/mean erase counter: 0/0
> [ 101.138763] UBI: image sequence number: 0
> [ 101.142852] UBI: background thread "ubi_bgt0d" started, PID 104
> [ 101.150085] modprobe used greatest stack depth: 6068 bytes left
> # modprobe ubifs
> # ubimkvol /dev/ubi0 -N test -m
> Set volume size to 29712384
> Volume ID 0, size 117 LEBs (29712384 bytes, 28.3 MiB), LEB size [
111.348449] ubimkvol used greatest stack depth: 5820 bytes left
> 253952 bytes (248.0 KiB), dynamic, name "test", alignment 1
> #mount -t ubifs ubi0_0 /mnt/ubifs
> [ 133.515991] UBIFS: default file-system created
> [ 133.565490] UBIFS: mounted UBI device 0, volume 0, name "test"
> [ 133.571594] UBIFS: file system size: 27426816 bytes (26784 KiB, 26 MiB,
108 LEBs)
> [ 133.579406] UBIFS: journal size: 2031617 bytes (1984 KiB, 1 MiB, 6 LEBs)
> [ 133.586791] UBIFS: media format: w4/r0 (latest is w4/r0)
> [ 133.592712] UBIFS: default compressor: lzo
> [ 133.596893] UBIFS: reserved for root: 1295435 bytes (1265 KiB)
> [ 133.604675] mount used greatest stack depth: 5768 bytes left
> # fsstress -p 3 -n 10 -d /mnt/ubifs
> seed = 397323
> # fsstress -p 3 -n 100 -d /mnt/ubifs
> seed = 826848
> # fsstress -p 3 -n 1000 -d /mnt/ubifs
> seed = 209658
> # fsstress -p 3 -n 10000 -d /mnt/ubifs
> seed = 748381
> #
>
>
> mtd_speedtest gives no warnings also. Only bad block related errors:
>
> # insmod mtd_speedtest.ko dev=4
> [ 23.759948]
> [ 23.761505] =================================================
> [ 23.767639] mtd_speedtest: MTD device: 4
> [ 23.771728] mtd_speedtest: MTD device size 33554432, eraseblock size
262144, page size 4096, count of eraseblocks 128, pages per eraseblock 64,
OOB size 128
> [ 23.800933] mtd_speedtest: scanning for bad eraseblocks
> [ 23.808441] Bad eraseblock 42 at 0x00a80000
> [ 23.812713] mtd_speedtest: block 22 is bad
> [ 23.818542] Bad eraseblock 60 at 0x00f00000
> [ 23.822814] mtd_speedtest: block 40 is bad
> [ 23.827423] Bad eraseblock 65 at 0x01040000
> [ 23.831665] mtd_speedtest: block 45 is bad
> [ 23.837860] Bad eraseblock 87 at 0x015c0000
> [ 23.842163] mtd_speedtest: block 67 is bad
> [ 23.850891] Bad eraseblock 136 at 0x02200000
> [ 23.855224] mtd_speedtest: block 116 is bad
> [ 23.860534] mtd_speedtest: scanned 128 eraseblocks, 5 are bad
> [ 24.010498] mtd_speedtest: testing eraseblock write speed
> [ 26.267669] mtd_speedtest: eraseblock write speed is 13988 KiB/s
> [ 26.273803] mtd_speedtest: testing eraseblock read speed
> [ 27.286437] mtd_speedtest: eraseblock read speed is 31269 KiB/s
> [ 27.430114] mtd_speedtest: testing page write speed
> [ 36.082855] mtd_speedtest: page write speed is 3641 KiB/s
> [ 36.088409] mtd_speedtest: testing page read speed
> [ 37.086517] mtd_speedtest: page read speed is 31678 KiB/s
> [ 37.444854] mtd_speedtest: testing 2 page write speed
> [ 60.709533] mtd_speedtest: 2 page write speed is 1353 KiB/s
> [ 60.715148] mtd_speedtest: testing 2 page read speed
> [ 61.624176] mtd_speedtest: 2 page read speed is 34870 KiB/s
> [ 61.629791] mtd_speedtest: Testing erase speed
> [ 61.868347] mtd_speedtest: erase speed is 133991 KiB/s
> [ 61.873565] mtd_speedtest: finished
> [ 61.877105] =================================================
>
>
>
> Regards
> Roman Tereshonkov
>
> On Thu, Nov 04, 2010 at 10:10:36AM +0100, ext Kyungmin Park wrote:
>> On Thu, Nov 4, 2010 at 5:58 PM, <roman.tereshonkov@nokia.com> wrote:
>> >
>> > Hi,
>> >
>> >
>> > I used driver/mtd/tests and did not observe any warnings except a
couple of bad blocks for some boards.
>> Yes in case of mtd_test* there's no messages.
>> >
>> > Can you discribe your test case for me to reproduce it. And show your
kernel log when it happens if possible?
>> > Is it for 2kb or 4kb page onenand?
>>
>> Mount ubifs on OneNAND which has 4KiB pagesize and run fsstress -p 3
>> -n 1000000000 -d /ubifs
>>
>> then you can or maybe see the UBI scrubbing message.
>>
>> Thank you,
>> Kyungmin Park
>> >
>> >
>> > Regards
>> > Roman Tereshonkov
>> >
>> >
>> >>-----Original Message-----
>> >>From: kyungmin78@gmail.com [mailto:kyungmin78@gmail.com] On
>> >>Behalf Of ext Kyungmin Park
>> >>Sent: 04 November, 2010 03:15
>> >>To: Tereshonkov Roman (Nokia-MS/Helsinki)
>> >>Cc: linux-mtd@lists.infradead.org
>> >>Subject: Re: [PATCHv2 0/3] mtd: onenand: add cache program
>> >>feature for 4kb page onenand
>> >>
>> >>Hi,
>> >>
>> >>One concern is that after apply patch, there are some 1-bit ECC
>> >>warnings so UBI scrubbing messages are displayed.
>> >>
>> >>Are there these message at your board?
>> >>
>> >>Thank you,
>> >>Kyungmin Park
>> >>
>> >>On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
>> >><roman.tereshonkov@nokia.com> wrote:
>> >>> Implement cache program feature for 4KB page onenand.
>> >>> This feature improves the write data performance.
>> >>> The observed 128KB data program speed change is
>> >>> from 8827KB/s to 14156 KB/s when the feature is enabled.
>> >>>
>> >>> Roman Tereshonkov (3):
>> >>> mtd: onenand: add option and variable for cache program feature
>> >>> mtd: onenand: fix omap2 code to handle cache program feature
>> >>> mtd: onenand: implement cache program feature for 4kb page onenand
>> >>>
>> >>> drivers/mtd/onenand/omap2.c | 12 +++++++++---
>> >>> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
>> >>> include/linux/mtd/onenand.h | 12 ++++++++++++
>> >>> 3 files changed, 40 insertions(+), 6 deletions(-)
>> >>>
>> >>>
>> >>> ______________________________________________________
>> >>> Linux MTD discussion mailing list
>> >>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
>> >>>
>> >>
>> > ______________________________________________________
>> > Linux MTD discussion mailing list
>> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
>> >
[-- Attachment #2: Type: text/html, Size: 9907 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-04 12:47 ` Kyungmin Park
@ 2010-11-05 11:12 ` Roman Tereshonkov
0 siblings, 0 replies; 13+ messages in thread
From: Roman Tereshonkov @ 2010-11-05 11:12 UTC (permalink / raw)
To: ext Kyungmin Park; +Cc: linux-mtd
On Thu, Nov 04, 2010 at 01:47:26PM +0100, ext Kyungmin Park wrote:
> I think it has some slow write performance since two page write is lower than one page. It means cache program is not work as expected.
> That's reason no warning message. In my case I enabled the sync write and get 10MiB or more performance. Please see my speedtest result.
Where can I see your speedtest results? If it was in attachment when I have not got any such.
These are my speed test results for different write sizes.
write size (bytes): 4096 8192 16384 32768 65536 131072 262144
cache program disabled (KB/s): 8827 8904 8827 8982 8982 8982 8982
cache program enabled (KB/s): 8752 10893 12337 13298 13837 14222 14422
Regards
Roman Tereshonkov
>
> Thank you,
> Kyungmin Park
>
> Sent from Android
>
> On Nov 4, 2010 9:40 PM, "Roman Tereshonkov" <roman.tereshonkov@nokia.com<mailto:roman.tereshonkov@nokia.com>> wrote:
> >
> > Hi Park,
> >
> > I tried several times
> > fsstress -p 3 -n 10000 -d /mnt/ubifs
> > for 28 MB onenand partition. No warnings observed.
> > The logs are below.
> >
> >
> > # modprobe ubi mtd=4
> > [ 101.013549] UBI: attaching mtd4 to ubi0
> > [ 101.017486] UBI: physical eraseblock size: 262144 bytes (256 KiB)
> > [ 101.023895] UBI: logical eraseblock size: 253952 bytes
> > [ 101.029510] UBI: smallest flash I/O unit: 4096
> > [ 101.034271] UBI: VID header offset: 4096 (aligned 4096)
> > [ 101.040405] UBI: data offset: 8192
> > [ 101.054565] UBI: empty MTD device detected
> > [ 101.058868] UBI: create volume table (copy #1)
> > [ 101.067504] UBI: create volume table (copy #2)
> > [ 101.077239] UBI: attached mtd4 to ubi0
> > [ 101.081054] UBI: MTD device name: "swap"
> > [ 101.086090] UBI: MTD device size: 32 MiB
> > [ 101.091033] UBI: number of good PEBs: 123
> > [ 101.095733] UBI: number of bad PEBs: 5
> > [ 101.100280] UBI: max. allowed volumes: 128
> > [ 101.104949] UBI: wear-leveling threshold: 8192
> > [ 101.109771] UBI: number of internal volumes: 1
> > [ 101.114257] UBI: number of user volumes: 0
> > [ 101.118804] UBI: available PEBs: 117
> > [ 101.123504] UBI: total number of reserved PEBs: 6
> > [ 101.128295] UBI: number of PEBs reserved for bad PEB handling: 2
> > [ 101.134399] UBI: max/mean erase counter: 0/0
> > [ 101.138763] UBI: image sequence number: 0
> > [ 101.142852] UBI: background thread "ubi_bgt0d" started, PID 104
> > [ 101.150085] modprobe used greatest stack depth: 6068 bytes left
> > # modprobe ubifs
> > # ubimkvol /dev/ubi0 -N test -m
> > Set volume size to 29712384
> > Volume ID 0, size 117 LEBs (29712384 bytes, 28.3 MiB), LEB size [ 111.348449] ubimkvol used greatest stack depth: 5820 bytes left
> > 253952 bytes (248.0 KiB), dynamic, name "test", alignment 1
> > #mount -t ubifs ubi0_0 /mnt/ubifs
> > [ 133.515991] UBIFS: default file-system created
> > [ 133.565490] UBIFS: mounted UBI device 0, volume 0, name "test"
> > [ 133.571594] UBIFS: file system size: 27426816 bytes (26784 KiB, 26 MiB, 108 LEBs)
> > [ 133.579406] UBIFS: journal size: 2031617 bytes (1984 KiB, 1 MiB, 6 LEBs)
> > [ 133.586791] UBIFS: media format: w4/r0 (latest is w4/r0)
> > [ 133.592712] UBIFS: default compressor: lzo
> > [ 133.596893] UBIFS: reserved for root: 1295435 bytes (1265 KiB)
> > [ 133.604675] mount used greatest stack depth: 5768 bytes left
> > # fsstress -p 3 -n 10 -d /mnt/ubifs
> > seed = 397323
> > # fsstress -p 3 -n 100 -d /mnt/ubifs
> > seed = 826848
> > # fsstress -p 3 -n 1000 -d /mnt/ubifs
> > seed = 209658
> > # fsstress -p 3 -n 10000 -d /mnt/ubifs
> > seed = 748381
> > #
> >
> >
> > mtd_speedtest gives no warnings also. Only bad block related errors:
> >
> > # insmod mtd_speedtest.ko dev=4
> > [ 23.759948]
> > [ 23.761505] =================================================
> > [ 23.767639] mtd_speedtest: MTD device: 4
> > [ 23.771728] mtd_speedtest: MTD device size 33554432, eraseblock size 262144, page size 4096, count of eraseblocks 128, pages per eraseblock 64, OOB size 128
> > [ 23.800933] mtd_speedtest: scanning for bad eraseblocks
> > [ 23.808441] Bad eraseblock 42 at 0x00a80000
> > [ 23.812713] mtd_speedtest: block 22 is bad
> > [ 23.818542] Bad eraseblock 60 at 0x00f00000
> > [ 23.822814] mtd_speedtest: block 40 is bad
> > [ 23.827423] Bad eraseblock 65 at 0x01040000
> > [ 23.831665] mtd_speedtest: block 45 is bad
> > [ 23.837860] Bad eraseblock 87 at 0x015c0000
> > [ 23.842163] mtd_speedtest: block 67 is bad
> > [ 23.850891] Bad eraseblock 136 at 0x02200000
> > [ 23.855224] mtd_speedtest: block 116 is bad
> > [ 23.860534] mtd_speedtest: scanned 128 eraseblocks, 5 are bad
> > [ 24.010498] mtd_speedtest: testing eraseblock write speed
> > [ 26.267669] mtd_speedtest: eraseblock write speed is 13988 KiB/s
> > [ 26.273803] mtd_speedtest: testing eraseblock read speed
> > [ 27.286437] mtd_speedtest: eraseblock read speed is 31269 KiB/s
> > [ 27.430114] mtd_speedtest: testing page write speed
> > [ 36.082855] mtd_speedtest: page write speed is 3641 KiB/s
> > [ 36.088409] mtd_speedtest: testing page read speed
> > [ 37.086517] mtd_speedtest: page read speed is 31678 KiB/s
> > [ 37.444854] mtd_speedtest: testing 2 page write speed
> > [ 60.709533] mtd_speedtest: 2 page write speed is 1353 KiB/s
> > [ 60.715148] mtd_speedtest: testing 2 page read speed
> > [ 61.624176] mtd_speedtest: 2 page read speed is 34870 KiB/s
> > [ 61.629791] mtd_speedtest: Testing erase speed
> > [ 61.868347] mtd_speedtest: erase speed is 133991 KiB/s
> > [ 61.873565] mtd_speedtest: finished
> > [ 61.877105] =================================================
> >
> >
> >
> > Regards
> > Roman Tereshonkov
> >
> > On Thu, Nov 04, 2010 at 10:10:36AM +0100, ext Kyungmin Park wrote:
> >> On Thu, Nov 4, 2010 at 5:58 PM, <roman.tereshonkov@nokia.com<mailto:roman.tereshonkov@nokia.com>> wrote:
> >> >
> >> > Hi,
> >> >
> >> >
> >> > I used driver/mtd/tests and did not observe any warnings except a couple of bad blocks for some boards.
> >> Yes in case of mtd_test* there's no messages.
> >> >
> >> > Can you discribe your test case for me to reproduce it. And show your kernel log when it happens if possible?
> >> > Is it for 2kb or 4kb page onenand?
> >>
> >> Mount ubifs on OneNAND which has 4KiB pagesize and run fsstress -p 3
> >> -n 1000000000 -d /ubifs
> >>
> >> then you can or maybe see the UBI scrubbing message.
> >>
> >> Thank you,
> >> Kyungmin Park
> >> >
> >> >
> >> > Regards
> >> > Roman Tereshonkov
> >> >
> >> >
> >> >>-----Original Message-----
> >> >>From: kyungmin78@gmail.com<mailto:kyungmin78@gmail.com> [mailto:kyungmin78@gmail.com<mailto:kyungmin78@gmail.com>] On
> >> >>Behalf Of ext Kyungmin Park
> >> >>Sent: 04 November, 2010 03:15
> >> >>To: Tereshonkov Roman (Nokia-MS/Helsinki)
> >> >>Cc: linux-mtd@lists.infradead.org<mailto:linux-mtd@lists.infradead.org>
> >> >>Subject: Re: [PATCHv2 0/3] mtd: onenand: add cache program
> >> >>feature for 4kb page onenand
> >> >>
> >> >>Hi,
> >> >>
> >> >>One concern is that after apply patch, there are some 1-bit ECC
> >> >>warnings so UBI scrubbing messages are displayed.
> >> >>
> >> >>Are there these message at your board?
> >> >>
> >> >>Thank you,
> >> >>Kyungmin Park
> >> >>
> >> >>On Wed, Nov 3, 2010 at 7:55 PM, Roman Tereshonkov
> >> >><roman.tereshonkov@nokia.com<mailto:roman.tereshonkov@nokia.com>> wrote:
> >> >>> Implement cache program feature for 4KB page onenand.
> >> >>> This feature improves the write data performance.
> >> >>> The observed 128KB data program speed change is
> >> >>> from 8827KB/s to 14156 KB/s when the feature is enabled.
> >> >>>
> >> >>> Roman Tereshonkov (3):
> >> >>> mtd: onenand: add option and variable for cache program feature
> >> >>> mtd: onenand: fix omap2 code to handle cache program feature
> >> >>> mtd: onenand: implement cache program feature for 4kb page onenand
> >> >>>
> >> >>> drivers/mtd/onenand/omap2.c | 12 +++++++++---
> >> >>> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
> >> >>> include/linux/mtd/onenand.h | 12 ++++++++++++
> >> >>> 3 files changed, 40 insertions(+), 6 deletions(-)
> >> >>>
> >> >>>
> >> >>> ______________________________________________________
> >> >>> Linux MTD discussion mailing list
> >> >>> http://lists.infradead.org/mailman/listinfo/linux-mtd/
> >> >>>
> >> >>
> >> > ______________________________________________________
> >> > Linux MTD discussion mailing list
> >> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
> >> >
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
` (3 preceding siblings ...)
2010-11-04 1:14 ` [PATCHv2 0/3] mtd: onenand: add " Kyungmin Park
@ 2010-11-13 12:01 ` Artem Bityutskiy
4 siblings, 0 replies; 13+ messages in thread
From: Artem Bityutskiy @ 2010-11-13 12:01 UTC (permalink / raw)
To: Roman Tereshonkov; +Cc: kyungmin.park, linux-mtd
On Wed, 2010-11-03 at 12:55 +0200, Roman Tereshonkov wrote:
> Implement cache program feature for 4KB page onenand.
> This feature improves the write data performance.
> The observed 128KB data program speed change is
> from 8827KB/s to 14156 KB/s when the feature is enabled.
>
> Roman Tereshonkov (3):
> mtd: onenand: add option and variable for cache program feature
> mtd: onenand: fix omap2 code to handle cache program feature
> mtd: onenand: implement cache program feature for 4kb page onenand
>
> drivers/mtd/onenand/omap2.c | 12 +++++++++---
> drivers/mtd/onenand/onenand_base.c | 22 +++++++++++++++++++---
> include/linux/mtd/onenand.h | 12 ++++++++++++
> 3 files changed, 40 insertions(+), 6 deletions(-)
Pushed all 3 patches to l2-mtd-2.6.git, thanks.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-11-13 12:02 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-03 10:55 [PATCHv2 0/3] mtd: onenand: add cache program feature for 4kb page onenand Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 1/3] mtd: onenand: add option and variable for cache program feature Roman Tereshonkov
2010-11-03 11:06 ` Kyungmin Park
2010-11-03 10:55 ` [PATCHv2 2/3] mtd: onenand: fix omap2 code to handle " Roman Tereshonkov
2010-11-03 10:55 ` [PATCHv2 3/3] mtd: onenand: implement cache program feature for 4kb page onenand Roman Tereshonkov
2010-11-03 11:05 ` Kyungmin Park
2010-11-04 1:14 ` [PATCHv2 0/3] mtd: onenand: add " Kyungmin Park
2010-11-04 8:58 ` roman.tereshonkov
2010-11-04 9:10 ` Kyungmin Park
2010-11-04 12:40 ` Roman Tereshonkov
2010-11-04 12:47 ` Kyungmin Park
2010-11-05 11:12 ` Roman Tereshonkov
2010-11-13 12:01 ` Artem Bityutskiy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).