[PATCH] tools/liblockdep: Fix linker error in case of cross compile.
If we try to cross compile liblockdep, even if we set the CROSS_COMPILE variable the linker error can occur because LD is not set with CROSS_COMPILE. This patch adds "LD" can be set automatically with CROSS_COMPILE variable so fixes linker error problem. Signed-off-by: Eunbong Song --- tools/lib/lockdep/Makefile |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/tools/lib/lockdep/Makefile b/tools/lib/lockdep/Makefile index 0c356fb..18ffccf 100644 --- a/tools/lib/lockdep/Makefile +++ b/tools/lib/lockdep/Makefile @@ -14,9 +14,10 @@ define allow-override $(eval $(1) = $(2))) endef -# Allow setting CC and AR, or setting CROSS_COMPILE as a prefix. +# Allow setting CC and AR and LD, or setting CROSS_COMPILE as a prefix. $(call allow-override,CC,$(CROSS_COMPILE)gcc) $(call allow-override,AR,$(CROSS_COMPILE)ar) +$(call allow-override,LD,$(CROSS_COMPILE)ld) INSTALL = install -- 1.7.0.1
Re: Re: [PATCH] tools/liblockdep: change current_obj from thread-local storage to non thread-local storage
> On 04/23/2015 02:55 AM, Eunbong Song wrote: >> current_obj is declared as a thread-local storage. >> This prevent to detect locking problem between multiple threads because >> each thread has it's own current_obj. liblockdep can only detect locking >> problem in a single >> thread. However, pthread_mutex_xxx, pthread_rwlock_xxx functions are mainly >> used for synchro >> nization of data between multiple threads. >> This patch changes current_obj to non thread-local storage. and >> current_obj.pid is getting >> from getpid system call. > um... It always worked with threads: I am sorry for confusing you. I did some mistake with my test. Thanks for your reply. > $ cat tests/ABBA_threads.c > #include > #include "common.h" > pthread_mutex_t a, b; > void *thread_a(void *arg) > { > LOCK_UNLOCK_2(a, b); > return NULL; > } void *thread_b(void *arg) { LOCK_UNLOCK_2(b, a); return NULL; } void main(void) { pthread_t ta, tb; pthread_mutex_init(&a, NULL); pthread_mutex_init(&b, NULL); pthread_create(&ta, NULL, thread_a, NULL); pthread_create(&tb, NULL, thread_b, NULL); pthread_join(ta, NULL); pthread_join(tb, NULL); } $ tests/ABBA_threads == [ INFO: possible circular locking dependency detected ] liblockdep 4.0.0 --- ABBA_threads/12101 is trying to acquire lock: (0x10bb700){..}, at: tests/ABBA_threads() [0x401333] but task is already holding lock: (0x10bb680){..}, at: tests/ABBA_threads() [0x401333] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (0x10bb680){..}: tests/ABBA_threads[0x4019d3] tests/ABBA_threads[0x4036f6] tests/ABBA_threads[0x4039c2] tests/ABBA_threads[0x403fde] tests/ABBA_threads[0x404aa7] tests/ABBA_threads[0x405250] tests/ABBA_threads[0x4053d3] tests/ABBA_threads[0x4055cd] tests/ABBA_threads[0x40135d] tests/ABBA_threads[0x401395] /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a5)[0x7f8e6e1dc0a5] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f8e6df09cfd] -> #0 (0x10bb700){..}: tests/ABBA_threads[0x4019d3] tests/ABBA_threads[0x402f51] tests/ABBA_threads[0x4035c4] tests/ABBA_threads[0x4039c2] tests/ABBA_threads[0x403fde] tests/ABBA_threads[0x404aa7] tests/ABBA_threads[0x405565] tests/ABBA_threads(pthread_mutex_lock+0x51)[0x4063fd] tests/ABBA_threads[0x401333] tests/ABBA_threads[0x4013c6] /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a5)[0x7f8e6e1dc0a5] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f8e6df09cfd] other info that might help us debug this: Possible unsafe locking scenario: CPU0CPU1 lock(0x10bb680); lock(0x10bb700); lock(0x10bb680); lock(0x10bb700); *** DEADLOCK *** 2 locks held by ABBA_threads/12101: #0: (&b){..}, at: tests/ABBA_threads() [0x4013bc] #1: (0x10bb680){..}, at: tests/ABBA_threads() [0x401333] stack backtrace: tests/ABBA_threads[0x4016dd] tests/ABBA_threads[0x40300b] tests/ABBA_threads[0x4035c4] tests/ABBA_threads[0x4039c2] tests/ABBA_threads[0x403fde] tests/ABBA_threads[0x404aa7] tests/ABBA_threads[0x405565] tests/ABBA_threads(pthread_mutex_lock+0x51)[0x4063fd] tests/ABBA_threads[0x401333] tests/ABBA_threads[0x4013c6] /lib/x86_64-linux-gnu/libpthread.so.0(+0x80a5)[0x7f8e6e1dc0a5] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f8e6df09cfd] Thanks, Sasha
[PATCH] tools/liblockdep: change current_obj from thread-local storage to non thread-local storage
current_obj is declared as a thread-local storage. This prevent to detect locking problem between multiple threads because each thread has it's own current_obj. liblockdep can only detect locking problem in a single thread. However, pthread_mutex_xxx, pthread_rwlock_xxx functions are mainly used for synchro nization of data between multiple threads. This patch changes current_obj to non thread-local storage. and current_obj.pid is getting from getpid system call. Signed-off-by: Eunbong Song --- tools/lib/lockdep/common.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/lib/lockdep/common.c b/tools/lib/lockdep/common.c index 8ef602f..6b9a6eb 100644 --- a/tools/lib/lockdep/common.c +++ b/tools/lib/lockdep/common.c @@ -5,7 +5,7 @@ #include #include -static __thread struct task_struct current_obj; +static struct task_struct current_obj; /* lockdep wants these */ bool debug_locks = true; @@ -26,7 +26,7 @@ struct task_struct *__curr(void) if (current_obj.pid == 0) { /* Makes lockdep output pretty */ prctl(PR_GET_NAME, current_obj.comm); - current_obj.pid = syscall(__NR_gettid); + current_obj.pid = syscall(__NR_getpid); } return ¤t_obj; -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[Resend] [PATCH] tools/liblockdep: Fix compilation error.
Currently, liblockdep has compilation error. This causes from lockdep.c code changes. This patch fixes compilation error. Signed-off-by: Eunbong Song --- tools/lib/lockdep/uinclude/linux/kernel.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/tools/lib/lockdep/uinclude/linux/kernel.h b/tools/lib/lockdep/uinclude/linux/kernel.h index a11e3c3..cd2cc59 100644 --- a/tools/lib/lockdep/uinclude/linux/kernel.h +++ b/tools/lib/lockdep/uinclude/linux/kernel.h @@ -28,6 +28,9 @@ #define __init #define noinline #define list_add_tail_rcu list_add_tail +#define list_for_each_entry_rcu list_for_each_entry +#define barrier() +#define synchronize_sched() #ifndef CALLER_ADDR0 #define CALLER_ADDR0 ((unsigned long)__builtin_return_address(0)) -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] tools/liblockdep: Fix compilation error.
Currently, liblockdep has compilation error with following log messages. CC common.o CC lockdep.o In file included from lockdep.c:10: ../../../kernel/locking/lockdep.c: In function 'count_matching_names': ../../../kernel/locking/lockdep.c:650: error: 'lock_entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:650: error: (Each undeclared identifier is reported only once ../../../kernel/locking/lockdep.c:650: error: for each function it appears in.) ../../../kernel/locking/lockdep.c:650: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c: In function 'look_up_lock_class': ../../../kernel/locking/lockdep.c:722: error: 'hash_entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:722: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c: In function 'register_lock_class': ../../../kernel/locking/lockdep.c:777: error: 'hash_entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:777: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c: In function '__bfs': ../../../kernel/locking/lockdep.c:1039: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c: In function 'lookup_chain_cache': ../../../kernel/locking/lockdep.c:2036: error: 'entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:2036: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c:2063: error: label 'cache_hit' used but not defined In file included from lockdep.c:10: ../../../kernel/locking/lockdep.c: In function 'lockdep_free_key_range': ../../../kernel/locking/lockdep.c:3937: error: 'hash_entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:3937: error: expected ';' before '{' token ../../../kernel/locking/lockdep.c: In function 'lockdep_reset_lock': ../../../kernel/locking/lockdep.c:3994: error: 'hash_entry' undeclared (first use in this function) ../../../kernel/locking/lockdep.c:3994: error: expected ';' before '{' token This patch fixes this compilation error. Signed-off-by: Eunbong Song --- tools/lib/lockdep/lockdep.c |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/tools/lib/lockdep/lockdep.c b/tools/lib/lockdep/lockdep.c index f42b7e9..f83a988 100644 --- a/tools/lib/lockdep/lockdep.c +++ b/tools/lib/lockdep/lockdep.c @@ -1,2 +1,8 @@ #include + +#ifdef list_for_each_entry_rcu +#undef list_for_each_entry_rcu +#endif +#define list_for_each_entry_rcu(pos, head, member) list_for_each_entry(pos, head, member) + #include "../../../kernel/locking/lockdep.c" -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] staging: octeon-ethernet: disable load balance for receiving packet when CONFIG_RPS is enabled.
It's better disable load balance for receiving packet when CONFIG_RPS is enabled. If not, octeon-ethernet driver select CPU and then the rps select again CPU. It can be ipi interrupts overhead and packet reordering could be possible. Signed-off-by: Eunbong Song --- drivers/staging/octeon/ethernet-rx.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c index b2b6c3c..44e372f 100644 --- a/drivers/staging/octeon/ethernet-rx.c +++ b/drivers/staging/octeon/ethernet-rx.c @@ -286,6 +286,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) did_work_request = 1; } +#ifndef CONFIG_RPS if (rx_count == 0) { /* * First time through, see if there is enough @@ -300,6 +301,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) if (backlog > budget * cores_in_use && napi != NULL) cvm_oct_enable_one_cpu(); } +#endif rx_count++; skb_in_hw = USE_SKBUFFS_IN_HW && work->word2.s.bufs == 1; -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH resend] mips: add arch_trigger_all_cpu_backtrace() function
Currently, arch_trigger_all_cpu_backtrace() is defined in only x86 and sparc which has nmi interrupt. But in case of softlockup not a hadrlockup, it could be possible to dump backtrace of all cpus. And this could be helpful for debugging. for example, if system has 2 cpus. CPU 0 CPU 1 acquire read_lock() try to do write_lock() ,,, missing read_unlock() In this case, dump_stack() print only backtrace for "CPU 0". If CPU1's calltrace is printed it's very helpful. This patch adds arch_trigger_all_cpu_backtrace() for mips architecture. And this enables when softlockup_all_cpu_backtrace is equalt to 1 and softlock is occurred to dump all cpu's backtrace. Signed-off-by: Eunbong Song --- arch/mips/include/asm/irq.h |3 +++ arch/mips/kernel/process.c | 18 ++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h index 39f07ae..5a4e1bb 100644 --- a/arch/mips/include/asm/irq.h +++ b/arch/mips/include/asm/irq.h @@ -48,4 +48,7 @@ extern int cp0_compare_irq; extern int cp0_compare_irq_shift; extern int cp0_perfcount_irq; +void arch_trigger_all_cpu_backtrace(bool); +#define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace + #endif /* _ASM_IRQ_H */ diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 636b074..5801f21 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c @@ -42,6 +42,7 @@ #include #include #include +#include #ifdef CONFIG_HOTPLUG_CPU void arch_cpu_idle_dead(void) @@ -532,3 +533,20 @@ unsigned long arch_align_stack(unsigned long sp) return sp & ALMASK; } + +static void arch_dump_stack(void *info) +{ + struct pt_regs *regs; + + regs = get_irq_regs(); + + if (regs) + show_regs(regs); + + dump_stack(); +} + +void arch_trigger_all_cpu_backtrace(bool include_self) +{ + smp_call_function(arch_dump_stack, NULL, 1); +} -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: [PATCH] mips: add arch_trigger_all_cpu_backtrace() function
>> This patch adds arch_trigger_all_cpu_backtrace() for mips architecture. > Don't forget your Signed-off-by I'm sorry fot this. >> +static void arch_dump_stack(void *info) >> +{ >> + struct pt_regs *regs; >> + >> + regs = get_irq_regs(); >> + >> + if(regs) >> + show_regs(regs); >> + >> + dump_stack(); >> +} >> + >> +void arch_trigger_all_cpu_backtrace(bool include_self) >> +{ >> + smp_call_function(arch_dump_stack, NULL, 1); > should this call arch_dump_stack directly too if include_self? Currently, in case of mips there is no case include_self is true, so this is not a problem. arch_trigger_all_cpu_backtrace can only be called from trigger_allbutself_cpu_backtrace() in kernel/watchdog.c. But as you said, if the case will be added, we should consider that. Thanks. > Cheers > JamesN떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 > 0띠h��뭝
Re: Re: [PATCH] mips: add arch_trigger_all_cpu_backtrace() function
> Hi Eubong, > one small question inline ... >> +void arch_trigger_all_cpu_backtrace(bool); +#define >> arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace > What is the purpose of this define ? is this maybe a leftover from > some regex/cleanups ? Hi John. Actually, I just follow the same function of sparc architecture. You can find this in arch/sparc/include/asm/irq_64.h as below void arch_trigger_all_cpu_backtrace(bool); #define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace I guess this is used for conditional compile. See below. include/linux/nmi.h #ifdef arch_trigger_all_cpu_backtrace static inline bool trigger_all_cpu_backtrace(void) { arch_trigger_all_cpu_backtrace(true); return true; } static inline bool trigger_allbutself_cpu_backtrace(void) { arch_trigger_all_cpu_backtrace(false); return true; } #else static inline bool trigger_all_cpu_backtrace(void) { return false; } static inline bool trigger_allbutself_cpu_backtrace(void) { return false; } #endif Thanks. > John
[PATCH] mips: add arch_trigger_all_cpu_backtrace() function
Currently, arch_trigger_all_cpu_backtrace() is defined in only x86 and sparc which has nmi interrupt. But in case of softlockup not a hardlockup, it could be possible to dump backtrace of all cpus. and this could be helpful for debugging. for example, if system has 2 cpus. CPU 0 CPU 1 acquire read_lock() try to do write_lock() ,,, missing read_unlock() In this case, softlockup will occur becasuse CPU 0 does not call read_unlock(). And dump_stack() print only backtrace for "CPU 0". If CPU1's backtrace is printed it's very helpful. This patch adds arch_trigger_all_cpu_backtrace() for mips architecture. Maybe someone make better patch than this. I just suggest the idea. --- arch/mips/include/asm/irq.h |3 +++ arch/mips/kernel/process.c | 18 ++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/mips/include/asm/irq.h b/arch/mips/include/asm/irq.h index 39f07ae..5a4e1bb 100644 --- a/arch/mips/include/asm/irq.h +++ b/arch/mips/include/asm/irq.h @@ -48,4 +48,7 @@ extern int cp0_compare_irq; extern int cp0_compare_irq_shift; extern int cp0_perfcount_irq; +void arch_trigger_all_cpu_backtrace(bool); +#define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace + #endif /* _ASM_IRQ_H */ diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c index 636b074..9f51d3d 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c @@ -42,6 +42,7 @@ #include #include #include +#include #ifdef CONFIG_HOTPLUG_CPU void arch_cpu_idle_dead(void) @@ -532,3 +533,20 @@ unsigned long arch_align_stack(unsigned long sp) return sp & ALMASK; } + +static void arch_dump_stack(void *info) +{ + struct pt_regs *regs; + + regs = get_irq_regs(); + + if(regs) + show_regs(regs); + + dump_stack(); +} + +void arch_trigger_all_cpu_backtrace(bool include_self) +{ + smp_call_function(arch_dump_stack, NULL, 1); +} -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: RE: [PATCH] lib : lz4 using put_unaligned_le16 instead of put_unaligned
> If your patch is applied, the data which is compressed > by your big-endian system won't be decompressed in other little-endian system. I can't understand this. Please, could you explain this more ? My patch just replaces put_unaligned with put_unaligned_le16. and this just write compression data in little endian byte-order regardless of machine byte-order, like ext file system. So, i guess there is no problem what you pointed Thanks.
Re: RE: [PATCH] lib : lz4 using put_unaligned_le16 instead of put_unaligned
Hello. >Can you check if this patch fix your problem also? Unfortunately your patch does not fix my problem. My test logs are as follow. I did the same test with lzo compression algorithm and with my patch, and these work well. debug_shell:/user> echo 1 > /sys/block/zram0/reset debug_shell:/user> echo lz4 > /sys/block/zram0/comp_algorithm debug_shell:/user> echo 520M > /sys/block/zram0/disksize debug_shell:/user> mkfs.ext4 /dev/zram0 mke2fs 1.41.4 (27-Jan-2009) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 33280 inodes, 133120 blocks 6656 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=138412032 5 block groups 32768 blocks per group, 32768 fragments per group 6656 inodes per group Superblock backups stored on blocks: 32768, 98304 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. debug_shell:/user> mount /dev/zram0 /mnt/ EXT4-fs (zram0): unsupported inode size: 272 mount: wrong fs type, bad option, bad superblock on /dev/zram0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so Thanks
Re: Re: Re: [PATCH] lib : lz4 using put_unaligned_le16 instead of put_unaligned
> So it's never worked? Yes, it's always failed to mount. > Did you test on a little endian machine after making this change? Unfortunately, i don't have little endian machine. So i couldn't test that. Additionaly, when lz4 compress calls lz4_compressctx() function and uses LZ4_WRITE_LITTLEENDIAN_16() macro. And When lz4 decompress calls lz4_uncompress_unknownoutputsize function and uses LZ4_READ_LITTLEENDIAN_16 macro. There is endian mismatch in big endian machine as i metioned before. when compress lz4 write big endian bytes order and when decompress lz4 reads little endian bytes order. So i means we should make there is no endian mismatch between compress and decompress operation. Thanks.
Re: Re: [PATCH] lib : lz4 using put_unaligned_le16 instead of put_unaligned
> Odd line wrapping :( Sorry, for this. > Anyway, is this a new problem? Or something that has always been there > in this compression function? Actually, i have tested zram with lz4 functions in my board(mips64 big endian). Everytime i try to mount my ext4 zram image i have failed. After applying this patch, that problem was disappeared. Thanks.
[PATCH] lib : lz4 using put_unaligned_le16 instead of put_unaligned
In case of mips bigendian machine, put_unaligned writes bigendian bytes order. This is defined in arch/mips/include/asm/unaligned.h. So it's right use put_unaligned_le16 function instead of put_unaligned. This patch also fixes problem fail to mount zram ext4 partition with "zram: Decompression failed! err=-1, page=0" in mips bigendian machine. Signed-off-by: Eunbong Song --- lib/lz4/lz4defs.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/lz4/lz4defs.h b/lib/lz4/lz4defs.h index abcecdc..dc7ef14 100644 --- a/lib/lz4/lz4defs.h +++ b/lib/lz4/lz4defs.h @@ -53,7 +53,7 @@ typedef struct _U64_S { u64 v; } U64_S; #define LZ4_WRITE_LITTLEENDIAN_16(p, v)\ do {\ - put_unaligned(v, (u16 *)(p)); \ + put_unaligned_le16(v, (u16 *)(p)); \ p += 2; \ } while (0) #endif -- 1.7.0.1 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: mips: math-emu: Fix compilation error ieee754.c
> What gcc version are you using? > Ralf I am using gcc 4.4.1. Thanks.
mips: math-emu: Fix compilation error ieee754.c
ieee754dp has bitfield member in struct without name. And this cause compilation error. This patch removes struct in ieee754dp declaration. So compilation error is fixed. Signed-off-by: Eunbong Song --- arch/mips/math-emu/ieee754.h | 20 1 files changed, 8 insertions(+), 12 deletions(-) diff --git a/arch/mips/math-emu/ieee754.h b/arch/mips/math-emu/ieee754.h index 43c4fb5..c6e28b8 100644 --- a/arch/mips/math-emu/ieee754.h +++ b/arch/mips/math-emu/ieee754.h @@ -32,22 +32,18 @@ #include union ieee754dp { - struct { - __BITFIELD_FIELD(unsigned int sign:1, - __BITFIELD_FIELD(unsigned int bexp:11, - __BITFIELD_FIELD(u64 mant:52, - ;))) - }; + __BITFIELD_FIELD(unsigned int sign:1, + __BITFIELD_FIELD(unsigned int bexp:11, + __BITFIELD_FIELD(u64 mant:52, + ;))) u64 bits; }; union ieee754sp { - struct { - __BITFIELD_FIELD(unsigned sign:1, - __BITFIELD_FIELD(unsigned bexp:8, - __BITFIELD_FIELD(unsigned mant:23, - ;))) - }; + __BITFIELD_FIELD(unsigned sign:1, + __BITFIELD_FIELD(unsigned bexp:8, + __BITFIELD_FIELD(unsigned mant:23, + ;))) u32 bits; }; -- 1.7.0.1N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] mips: Fix compile warnings of perf "tests/attr.c" on mips64.
On mips64, we by default include ' which results in __u64 being an unsigned long. This causes compile warnings which are treated as errors due to '-Werror'. This patch references commit e3541ec7. Signed-off-by: Eunbong Song --- arch/mips/include/uapi/asm/types.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/include/uapi/asm/types.h b/arch/mips/include/uapi/asm/types.h index 7ac9d0b..8d959a0 100644 --- a/arch/mips/include/uapi/asm/types.h +++ b/arch/mips/include/uapi/asm/types.h @@ -16,7 +16,7 @@ * userspace to avoid code changes. */ #ifndef __KERNEL__ -# if _MIPS_SZLONG == 64 +# if !defined(__SANE_USERSPACE_TYPES__) && _MIPS_SZLONG == 64 # include # else # include -- 1.7.0.1
[PATCH] MIPS: Octeon: Add PCIe2 support in arch_setup_msi_irq()
In arch_setup_msi_irq(), there is no case for PCIe2. So board which have PCIe2 functionality fails to boot with "Kernel panic - not syncing: arch_setup_msi_irq: Invalid octeon_dma_bar_type" message. This patch solve this problem. Signed-off-by: Eunbong Song --- arch/mips/pci/msi-octeon.c |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/arch/mips/pci/msi-octeon.c b/arch/mips/pci/msi-octeon.c index 2b91b0e..ab0c5d1 100644 --- a/arch/mips/pci/msi-octeon.c +++ b/arch/mips/pci/msi-octeon.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include @@ -162,6 +163,11 @@ msi_irq_allocated: msg.address_lo = (0 + CVMX_NPEI_PCIE_MSI_RCV) & 0x; msg.address_hi = (0 + CVMX_NPEI_PCIE_MSI_RCV) >> 32; break; + case OCTEON_DMA_BAR_TYPE_PCIE2: + /* When using PCIe2, Bar 0 is based at 0 */ + msg.address_lo = (0 + CVMX_SLI_PCIE_MSI_RCV) & 0x; + msg.address_hi = (0 + CVMX_SLI_PCIE_MSI_RCV) >> 32; + break; default: panic("arch_setup_msi_irq: Invalid octeon_dma_bar_type"); } -- 1.7.0.1
tools/liblockdep: Build failure
There is tools/liblockdep build failure. I have been trying to find the cause and i found commit id 63f9a7fde715352e0769302527670542a664b981 is the casue. Author: Andi Kleen Date: Sat Feb 8 08:52:01 2014 +0100 asmlinkage: Make lockdep_sys_exit asmlinkage lockdep_sys_exit can be called from assembler code, so make it asmlinkage. Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Andi Kleen Link: http://lkml.kernel.org/r/1391845930-28580-5-git-send-email...@linux.intel.com Signed-off-by: H. Peter Anvin diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 92b1bfc..7df9aa6 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -265,7 +265,7 @@ extern void lockdep_info(void); extern void lockdep_reset(void); extern void lockdep_reset_lock(struct lockdep_map *lock); extern void lockdep_free_key_range(void *start, unsigned long size); -extern void lockdep_sys_exit(void); +extern asmlinkage void lockdep_sys_exit(void); extern void lockdep_off(void); extern void lockdep_on(void); diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c index eb8a547..c8b6753 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -4191,7 +4191,7 @@ void debug_show_held_locks(struct task_struct *task) } EXPORT_SYMBOL_GPL(debug_show_held_locks); -void lockdep_sys_exit(void) +asmlinkage void lockdep_sys_exit(void) { struct task_struct *curr = current;
[PATCH] mtd: fsl_ifc_nand: Recover corrupted empty page for preventing read-only mount in UBIFS
Even if the meaning of EUCLEAN was changed by commit edbc4540. There is still possibility of read-only mount in UBIFS with ubifs_scan() "corrupt empty space at LEB". So i made this patch for fix that problem. This patch do as follow. - If there are ecc errors which is equal to or less than chip->ecc.strength in page. - Check that page has how many zero bits, and if zero bits are equal to or less than chip->ecc.strength then overwrite 1 to zero bits in buf. ubifs_scan() cannot detect corrupted empty space because buf is recovered by this patch. And this is safe because ecc controller can correct up to chip->ecc.strength bits. Signed-off-by: Eunbong Song --- drivers/mtd/nand/fsl_ifc_nand.c | 41 +++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c index 90ca7e7..2129c39 100644 --- a/drivers/mtd/nand/fsl_ifc_nand.c +++ b/drivers/mtd/nand/fsl_ifc_nand.c @@ -277,6 +277,42 @@ static int is_blank(struct mtd_info *mtd, unsigned int bufnum) return 1; } +static int num_zero_bits(uint8_t val) +{ + int i, ret=0; + + for(i=7; i>=0 ; i--) + if(!(0x1 & (val >> i))) + ret++; + + return ret; +} + +static int is_corrupted_blank(struct mtd_info *mtd, uint8_t * buf) +{ + struct nand_chip *chip = mtd->priv; + int i; + int zero_bits = 0; + + for (i = 0; i < mtd->writesize ; i++) { + if(buf[i] != 0xff) { + zero_bits += num_zero_bits(buf[i]); + } + } + + if(zero_bits && (zero_bits <= chip->ecc.strength)){ + return 1; + } + + return 0; +} + +static void recover_corrupted_blank(struct mtd_info *mtd, uint8_t * buf) +{ + memset(buf, 0xff, mtd->writesize); + return; +} + /* returns nonzero if entire page is blank */ static int check_read_ecc(struct mtd_info *mtd, struct fsl_ifc_ctrl *ctrl, u32 *eccstat, unsigned int bufnum) @@ -760,6 +796,11 @@ static int fsl_ifc_read_page(struct mtd_info *mtd, struct nand_chip *chip, if (ctrl->nand_stat != IFC_NAND_EVTER_STAT_OPC) mtd->ecc_stats.failed++; + if(nctrl->max_bitflips && (nctrl->max_bitflips <= chip->ecc.strength)){ + if(is_corrupted_blank(mtd, buf)) + recover_corrupted_blank(mtd, buf); + } + return nctrl->max_bitflips; } -- 1.7.0.1
[PATCH] mtd: nand: make more readable panic_nand_wait_ready() and nand_wait_ready()
panic_nand_wait_ready() and nand_wait_ready() calls dev_ready() without checking if it exists. This patch add check routine dev_ready() before run dev_ready() and this makes the code more readable Signed-off-by: Eunbong Song --- drivers/mtd/nand/nand_base.c | 12 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index bd39f7b..110db78 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -473,8 +473,10 @@ static void panic_nand_wait_ready(struct mtd_info *mtd, unsigned long timeo) /* Wait for the device to get ready */ for (i = 0; i < timeo; i++) { - if (chip->dev_ready(mtd)) - break; + if(chip->dev_ready){ + if (chip->dev_ready(mtd)) + break; + } touch_softlockup_watchdog(); mdelay(1); } @@ -493,8 +495,10 @@ void nand_wait_ready(struct mtd_info *mtd) led_trigger_event(nand_led_trigger, LED_FULL); /* Wait until command is processed or timeout occurs */ do { - if (chip->dev_ready(mtd)) - break; + if(chip->dev_ready){ + if (chip->dev_ready(mtd)) + break; + } touch_softlockup_watchdog(); } while (time_before(jiffies, timeo)); led_trigger_event(nand_led_trigger, LED_OFF); -- 1.7.0.4
[PATCH] ARM: Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for ARM. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song Acked-by: Tony Lindgren --- arch/arm/configs/acs5k_defconfig|1 - arch/arm/configs/acs5k_tiny_defconfig |1 - arch/arm/configs/assabet_defconfig |1 - arch/arm/configs/at91x40_defconfig |1 - arch/arm/configs/badge4_defconfig |1 - arch/arm/configs/cerfcube_defconfig |1 - arch/arm/configs/cm_x300_defconfig |1 - arch/arm/configs/cns3420vb_defconfig|1 - arch/arm/configs/collie_defconfig |1 - arch/arm/configs/corgi_defconfig|1 - arch/arm/configs/davinci_all_defconfig |1 - arch/arm/configs/h5000_defconfig|1 - arch/arm/configs/iop13xx_defconfig |1 - arch/arm/configs/iop32x_defconfig |1 - arch/arm/configs/iop33x_defconfig |1 - arch/arm/configs/ixp4xx_defconfig |1 - arch/arm/configs/ks8695_defconfig |1 - arch/arm/configs/lart_defconfig |1 - arch/arm/configs/lpd270_defconfig |1 - arch/arm/configs/lubbock_defconfig |1 - arch/arm/configs/mackerel_defconfig |1 - arch/arm/configs/magician_defconfig |1 - arch/arm/configs/mainstone_defconfig|1 - arch/arm/configs/mini2440_defconfig |1 - arch/arm/configs/mv78xx0_defconfig |1 - arch/arm/configs/neponset_defconfig |1 - arch/arm/configs/netx_defconfig |1 - arch/arm/configs/nuc910_defconfig |1 - arch/arm/configs/nuc950_defconfig |1 - arch/arm/configs/nuc960_defconfig |1 - arch/arm/configs/omap1_defconfig|1 - arch/arm/configs/pcm027_defconfig |1 - arch/arm/configs/pleb_defconfig |1 - arch/arm/configs/pxa255-idp_defconfig |1 - arch/arm/configs/raumfeld_defconfig |1 - arch/arm/configs/realview-smp_defconfig |1 - arch/arm/configs/realview_defconfig |1 - arch/arm/configs/shannon_defconfig |1 - arch/arm/configs/simpad_defconfig |1 - arch/arm/configs/spitz_defconfig|1 - arch/arm/configs/tct_hammer_defconfig |1 - arch/arm/configs/versatile_defconfig|1 - 42 files changed, 0 insertions(+), 42 deletions(-) diff --git a/arch/arm/configs/acs5k_defconfig b/arch/arm/configs/acs5k_defconfig index 92b0f90..27ca89d 100644 --- a/arch/arm/configs/acs5k_defconfig +++ b/arch/arm/configs/acs5k_defconfig @@ -35,7 +35,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/acs5k_tiny_defconfig b/arch/arm/configs/acs5k_tiny_defconfig index 2a27a14..1f663ca 100644 --- a/arch/arm/configs/acs5k_tiny_defconfig +++ b/arch/arm/configs/acs5k_tiny_defconfig @@ -30,7 +30,6 @@ CONFIG_INET=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/assabet_defconfig b/arch/arm/configs/assabet_defconfig index 558ecd8..bdf6f9c 100644 --- a/arch/arm/configs/assabet_defconfig +++ b/arch/arm/configs/assabet_defconfig @@ -22,7 +22,6 @@ CONFIG_IRDA=m CONFIG_IRLAN=m CONFIG_SA1100_FIR=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/arm/configs/at91x40_defconfig b/arch/arm/configs/at91x40_defconfig index c55e921..5886aea 100644 --- a/arch/arm/configs/at91x40_defconfig +++ b/arch/arm/configs/at91x40_defconfig @@ -29,7 +29,6 @@ CONFIG_BINFMT_FLAT=y # CONFIG_SUSPEND is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/arm/configs/badge4_defconfig b/arch/arm/configs/badge4_defconfig index 5b54abb..b21bd0a 100644 --- a/arch/arm/configs/badge4_defconfig +++ b/arch/arm/configs/badge4_defconfig @@ -30,7 +30,6 @@ CONFIG_BT_HCIVHCI=m # CONFIG_FW_LOADER is not set CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/cerfcube_defconfig b/arch/arm/configs/cerfcube_defconfig index dce912d..dcee643 100644 --- a/arch/arm/configs/cerfcube_defconfig +++ b/arch/arm/configs/cerfcube_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig index f4b7672..1bddbd9 100644 --- a/arch/arm/configs/cm_x300_defconfig +++ b/arch/arm/configs/cm_x300_defconfig @@ -51,7 +51,6 @@ CONFIG_BT_HCIBTUSB=m CONFIG_LIB80211=m CONFI
[PATCH] ARM : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for arm. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song Acked-by: Tony Lindgren --- I resend this patch because i forgot signoff. I really sorry for annoying you... -- arch/arm/configs/acs5k_defconfig|1 - arch/arm/configs/acs5k_tiny_defconfig |1 - arch/arm/configs/assabet_defconfig |1 - arch/arm/configs/at91x40_defconfig |1 - arch/arm/configs/badge4_defconfig |1 - arch/arm/configs/cerfcube_defconfig |1 - arch/arm/configs/cm_x300_defconfig |1 - arch/arm/configs/cns3420vb_defconfig|1 - arch/arm/configs/collie_defconfig |1 - arch/arm/configs/corgi_defconfig|1 - arch/arm/configs/davinci_all_defconfig |1 - arch/arm/configs/h5000_defconfig|1 - arch/arm/configs/iop13xx_defconfig |1 - arch/arm/configs/iop32x_defconfig |1 - arch/arm/configs/iop33x_defconfig |1 - arch/arm/configs/ixp4xx_defconfig |1 - arch/arm/configs/ks8695_defconfig |1 - arch/arm/configs/lart_defconfig |1 - arch/arm/configs/lpd270_defconfig |1 - arch/arm/configs/lubbock_defconfig |1 - arch/arm/configs/mackerel_defconfig |1 - arch/arm/configs/magician_defconfig |1 - arch/arm/configs/mainstone_defconfig|1 - arch/arm/configs/mini2440_defconfig |1 - arch/arm/configs/mv78xx0_defconfig |1 - arch/arm/configs/neponset_defconfig |1 - arch/arm/configs/netx_defconfig |1 - arch/arm/configs/nuc910_defconfig |1 - arch/arm/configs/nuc950_defconfig |1 - arch/arm/configs/nuc960_defconfig |1 - arch/arm/configs/omap1_defconfig|1 - arch/arm/configs/pcm027_defconfig |1 - arch/arm/configs/pleb_defconfig |1 - arch/arm/configs/pxa255-idp_defconfig |1 - arch/arm/configs/raumfeld_defconfig |1 - arch/arm/configs/realview-smp_defconfig |1 - arch/arm/configs/realview_defconfig |1 - arch/arm/configs/shannon_defconfig |1 - arch/arm/configs/simpad_defconfig |1 - arch/arm/configs/spitz_defconfig|1 - arch/arm/configs/tct_hammer_defconfig |1 - arch/arm/configs/versatile_defconfig|1 - 42 files changed, 0 insertions(+), 42 deletions(-) diff --git a/arch/arm/configs/acs5k_defconfig b/arch/arm/configs/acs5k_defconfig index 92b0f90..27ca89d 100644 --- a/arch/arm/configs/acs5k_defconfig +++ b/arch/arm/configs/acs5k_defconfig @@ -35,7 +35,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/acs5k_tiny_defconfig b/arch/arm/configs/acs5k_tiny_defconfig index 2a27a14..1f663ca 100644 --- a/arch/arm/configs/acs5k_tiny_defconfig +++ b/arch/arm/configs/acs5k_tiny_defconfig @@ -30,7 +30,6 @@ CONFIG_INET=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/assabet_defconfig b/arch/arm/configs/assabet_defconfig index 558ecd8..bdf6f9c 100644 --- a/arch/arm/configs/assabet_defconfig +++ b/arch/arm/configs/assabet_defconfig @@ -22,7 +22,6 @@ CONFIG_IRDA=m CONFIG_IRLAN=m CONFIG_SA1100_FIR=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/arm/configs/at91x40_defconfig b/arch/arm/configs/at91x40_defconfig index c55e921..5886aea 100644 --- a/arch/arm/configs/at91x40_defconfig +++ b/arch/arm/configs/at91x40_defconfig @@ -29,7 +29,6 @@ CONFIG_BINFMT_FLAT=y # CONFIG_SUSPEND is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/arm/configs/badge4_defconfig b/arch/arm/configs/badge4_defconfig index 5b54abb..b21bd0a 100644 --- a/arch/arm/configs/badge4_defconfig +++ b/arch/arm/configs/badge4_defconfig @@ -30,7 +30,6 @@ CONFIG_BT_HCIVHCI=m # CONFIG_FW_LOADER is not set CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/cerfcube_defconfig b/arch/arm/configs/cerfcube_defconfig index dce912d..dcee643 100644 --- a/arch/arm/configs/cerfcube_defconfig +++ b/arch/arm/configs/cerfcube_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig index f4b7672..1bddbd9 100644 --- a/arch/arm/configs/cm_x300_defconfig +++ b/arch/arm/confi
[PATCH] ARM : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for arm. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. --- I resend this patch because i forgot signoff. -- arch/arm/configs/acs5k_defconfig|1 - arch/arm/configs/acs5k_tiny_defconfig |1 - arch/arm/configs/assabet_defconfig |1 - arch/arm/configs/at91x40_defconfig |1 - arch/arm/configs/badge4_defconfig |1 - arch/arm/configs/cerfcube_defconfig |1 - arch/arm/configs/cm_x300_defconfig |1 - arch/arm/configs/cns3420vb_defconfig|1 - arch/arm/configs/collie_defconfig |1 - arch/arm/configs/corgi_defconfig|1 - arch/arm/configs/davinci_all_defconfig |1 - arch/arm/configs/h5000_defconfig|1 - arch/arm/configs/iop13xx_defconfig |1 - arch/arm/configs/iop32x_defconfig |1 - arch/arm/configs/iop33x_defconfig |1 - arch/arm/configs/ixp4xx_defconfig |1 - arch/arm/configs/ks8695_defconfig |1 - arch/arm/configs/lart_defconfig |1 - arch/arm/configs/lpd270_defconfig |1 - arch/arm/configs/lubbock_defconfig |1 - arch/arm/configs/mackerel_defconfig |1 - arch/arm/configs/magician_defconfig |1 - arch/arm/configs/mainstone_defconfig|1 - arch/arm/configs/mini2440_defconfig |1 - arch/arm/configs/mv78xx0_defconfig |1 - arch/arm/configs/neponset_defconfig |1 - arch/arm/configs/netx_defconfig |1 - arch/arm/configs/nuc910_defconfig |1 - arch/arm/configs/nuc950_defconfig |1 - arch/arm/configs/nuc960_defconfig |1 - arch/arm/configs/omap1_defconfig|1 - arch/arm/configs/pcm027_defconfig |1 - arch/arm/configs/pleb_defconfig |1 - arch/arm/configs/pxa255-idp_defconfig |1 - arch/arm/configs/raumfeld_defconfig |1 - arch/arm/configs/realview-smp_defconfig |1 - arch/arm/configs/realview_defconfig |1 - arch/arm/configs/shannon_defconfig |1 - arch/arm/configs/simpad_defconfig |1 - arch/arm/configs/spitz_defconfig|1 - arch/arm/configs/tct_hammer_defconfig |1 - arch/arm/configs/versatile_defconfig|1 - 42 files changed, 0 insertions(+), 42 deletions(-) diff --git a/arch/arm/configs/acs5k_defconfig b/arch/arm/configs/acs5k_defconfig index 92b0f90..27ca89d 100644 --- a/arch/arm/configs/acs5k_defconfig +++ b/arch/arm/configs/acs5k_defconfig @@ -35,7 +35,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/acs5k_tiny_defconfig b/arch/arm/configs/acs5k_tiny_defconfig index 2a27a14..1f663ca 100644 --- a/arch/arm/configs/acs5k_tiny_defconfig +++ b/arch/arm/configs/acs5k_tiny_defconfig @@ -30,7 +30,6 @@ CONFIG_INET=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/assabet_defconfig b/arch/arm/configs/assabet_defconfig index 558ecd8..bdf6f9c 100644 --- a/arch/arm/configs/assabet_defconfig +++ b/arch/arm/configs/assabet_defconfig @@ -22,7 +22,6 @@ CONFIG_IRDA=m CONFIG_IRLAN=m CONFIG_SA1100_FIR=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/arm/configs/at91x40_defconfig b/arch/arm/configs/at91x40_defconfig index c55e921..5886aea 100644 --- a/arch/arm/configs/at91x40_defconfig +++ b/arch/arm/configs/at91x40_defconfig @@ -29,7 +29,6 @@ CONFIG_BINFMT_FLAT=y # CONFIG_SUSPEND is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/arm/configs/badge4_defconfig b/arch/arm/configs/badge4_defconfig index 5b54abb..b21bd0a 100644 --- a/arch/arm/configs/badge4_defconfig +++ b/arch/arm/configs/badge4_defconfig @@ -30,7 +30,6 @@ CONFIG_BT_HCIVHCI=m # CONFIG_FW_LOADER is not set CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/cerfcube_defconfig b/arch/arm/configs/cerfcube_defconfig index dce912d..dcee643 100644 --- a/arch/arm/configs/cerfcube_defconfig +++ b/arch/arm/configs/cerfcube_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig index f4b7672..1bddbd9 100644 --- a/arch/arm/configs/cm_x300_defconfig +++ b/arch/arm/configs/cm_x300_defconfig @@ -51,7 +51,6 @@ CONFIG_BT_HCIBTUSB=m CONFIG_LIB80211=m CONFIG_UEVENT_HELPER_PATH="/sbin/ho
Re: Re: [PATCH] m68k : Kill CONFIG_MTD_PARTITIONS
> Hi Eunbong, >Acked-by: Greg Ungerer >Did you want me to pick this up for the m68knommu git tree? Hello, Greg. I'm glad if you pick up this patch. Thanks EunBong
[PATCH] sh : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for sh. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/sh/configs/ap325rxa_defconfig|1 - arch/sh/configs/apsh4a3a_defconfig|1 - arch/sh/configs/ecovec24_defconfig|1 - arch/sh/configs/edosk7760_defconfig |1 - arch/sh/configs/espt_defconfig|1 - arch/sh/configs/magicpanelr2_defconfig|1 - arch/sh/configs/migor_defconfig |1 - arch/sh/configs/polaris_defconfig |1 - arch/sh/configs/r7780mp_defconfig |1 - arch/sh/configs/rsk7201_defconfig |1 - arch/sh/configs/rsk7203_defconfig |1 - arch/sh/configs/rts7751r2dplus_defconfig |1 - arch/sh/configs/sdk7786_defconfig |1 - arch/sh/configs/se7206_defconfig |1 - arch/sh/configs/se7343_defconfig |1 - arch/sh/configs/se7619_defconfig |1 - arch/sh/configs/se7705_defconfig |1 - arch/sh/configs/se7712_defconfig |1 - arch/sh/configs/se7721_defconfig |1 - arch/sh/configs/se7724_defconfig |1 - arch/sh/configs/se7750_defconfig |1 - arch/sh/configs/se7751_defconfig |1 - arch/sh/configs/se7780_defconfig |1 - arch/sh/configs/secureedge5410_defconfig |1 - arch/sh/configs/sh7710voipgw_defconfig|1 - arch/sh/configs/sh7763rdp_defconfig |1 - arch/sh/configs/sh7785lcr_32bit_defconfig |1 - arch/sh/configs/sh7785lcr_defconfig |1 - arch/sh/configs/shmin_defconfig |1 - arch/sh/configs/ul2_defconfig |1 - arch/sh/configs/urquell_defconfig |1 - 31 files changed, 0 insertions(+), 31 deletions(-) diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig index e533512..beef54b 100644 --- a/arch/sh/configs/ap325rxa_defconfig +++ b/arch/sh/configs/ap325rxa_defconfig @@ -33,7 +33,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/sh/configs/apsh4a3a_defconfig b/arch/sh/configs/apsh4a3a_defconfig index 6cb3279..0c39aa3 100644 --- a/arch/sh/configs/apsh4a3a_defconfig +++ b/arch/sh/configs/apsh4a3a_defconfig @@ -35,7 +35,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FW_LOADER is not set CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/sh/configs/ecovec24_defconfig b/arch/sh/configs/ecovec24_defconfig index c6c2bec..c88adb0 100644 --- a/arch/sh/configs/ecovec24_defconfig +++ b/arch/sh/configs/ecovec24_defconfig @@ -36,7 +36,6 @@ CONFIG_SH_SIR=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig index e1077a0..845ed29 100644 --- a/arch/sh/configs/edosk7760_defconfig +++ b/arch/sh/configs/edosk7760_defconfig @@ -40,7 +40,6 @@ CONFIG_DEBUG_DEVRES=y CONFIG_MTD=y CONFIG_MTD_DEBUG=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/sh/configs/espt_defconfig b/arch/sh/configs/espt_defconfig index 67cb109..1d9d673 100644 --- a/arch/sh/configs/espt_defconfig +++ b/arch/sh/configs/espt_defconfig @@ -30,7 +30,6 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_IPV6 is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig index 9479872..e660804 100644 --- a/arch/sh/configs/magicpanelr2_defconfig +++ b/arch/sh/configs/magicpanelr2_defconfig @@ -41,7 +41,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_STANDALONE is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig index cc61eda..49ea1a9 100644 --- a/arch/sh/configs/migor_defconfig +++ b/arch/sh/configs/migor_defconfig @@ -32,7 +32,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_FW_LOADER=m CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/sh/configs/polaris_defconfig b/arch/sh/configs/polaris_defconfig index f3d5d9f..d2bfd3a 100644 --- a/arch/sh/configs/polaris_defconfig +++ b/arch/sh/configs/polaris_defconfig @@ -42,7 +42,6 @@ CON
[PATCH] mn10300 : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for mn10300. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/mn10300/configs/asb2303_defconfig |1 - arch/mn10300/configs/asb2364_defconfig |1 - 2 files changed, 0 insertions(+), 2 deletions(-) diff --git a/arch/mn10300/configs/asb2303_defconfig b/arch/mn10300/configs/asb2303_defconfig index 1fd41ec..591ab65 100644 --- a/arch/mn10300/configs/asb2303_defconfig +++ b/arch/mn10300/configs/asb2303_defconfig @@ -34,7 +34,6 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_WIRELESS is not set CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y CONFIG_MTD_CHAR=y diff --git a/arch/mn10300/configs/asb2364_defconfig b/arch/mn10300/configs/asb2364_defconfig index fbb96ae..fbaac16 100644 --- a/arch/mn10300/configs/asb2364_defconfig +++ b/arch/mn10300/configs/asb2364_defconfig @@ -51,7 +51,6 @@ CONFIG_IPV6=y CONFIG_CONNECTOR=y CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y CONFIG_MTD_CHAR=y -- 1.7.0.4
[PATCH] m68k : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for m68k. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/m68k/configs/m5208evb_defconfig |1 - arch/m68k/configs/m5249evb_defconfig |1 - arch/m68k/configs/m5272c3_defconfig |1 - arch/m68k/configs/m5275evb_defconfig |1 - arch/m68k/configs/m5307c3_defconfig |1 - arch/m68k/configs/m5407c3_defconfig |1 - 6 files changed, 0 insertions(+), 6 deletions(-) diff --git a/arch/m68k/configs/m5208evb_defconfig b/arch/m68k/configs/m5208evb_defconfig index c161682..e7292f4 100644 --- a/arch/m68k/configs/m5208evb_defconfig +++ b/arch/m68k/configs/m5208evb_defconfig @@ -40,7 +40,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5249evb_defconfig b/arch/m68k/configs/m5249evb_defconfig index a6599e4..0cd4b39 100644 --- a/arch/m68k/configs/m5249evb_defconfig +++ b/arch/m68k/configs/m5249evb_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5272c3_defconfig b/arch/m68k/configs/m5272c3_defconfig index 3fa60a5..a60cb35 100644 --- a/arch/m68k/configs/m5272c3_defconfig +++ b/arch/m68k/configs/m5272c3_defconfig @@ -36,7 +36,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5275evb_defconfig b/arch/m68k/configs/m5275evb_defconfig index a1230e8..e6502ab 100644 --- a/arch/m68k/configs/m5275evb_defconfig +++ b/arch/m68k/configs/m5275evb_defconfig @@ -39,7 +39,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5307c3_defconfig b/arch/m68k/configs/m5307c3_defconfig index 43795f4..023812a 100644 --- a/arch/m68k/configs/m5307c3_defconfig +++ b/arch/m68k/configs/m5307c3_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/m68k/configs/m5407c3_defconfig b/arch/m68k/configs/m5407c3_defconfig index 72746c5..557b39f 100644 --- a/arch/m68k/configs/m5407c3_defconfig +++ b/arch/m68k/configs/m5407c3_defconfig @@ -38,7 +38,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y -- 1.7.0.4
[PATCH] m32r : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for m32r. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/m32r/configs/m32700ut.smp_defconfig |1 - arch/m32r/configs/m32700ut.up_defconfig |1 - arch/m32r/configs/mappi.smp_defconfig|1 - arch/m32r/configs/mappi.up_defconfig |1 - arch/m32r/configs/mappi3.smp_defconfig |1 - arch/m32r/configs/usrv_defconfig |1 - 6 files changed, 0 insertions(+), 6 deletions(-) diff --git a/arch/m32r/configs/m32700ut.smp_defconfig b/arch/m32r/configs/m32700ut.smp_defconfig index a3d727e..fe09039 100644 --- a/arch/m32r/configs/m32700ut.smp_defconfig +++ b/arch/m32r/configs/m32700ut.smp_defconfig @@ -30,7 +30,6 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=m diff --git a/arch/m32r/configs/m32700ut.up_defconfig b/arch/m32r/configs/m32700ut.up_defconfig index b833416..18091bf 100644 --- a/arch/m32r/configs/m32700ut.up_defconfig +++ b/arch/m32r/configs/m32700ut.up_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=m diff --git a/arch/m32r/configs/mappi.smp_defconfig b/arch/m32r/configs/mappi.smp_defconfig index 367d07c..109409b 100644 --- a/arch/m32r/configs/mappi.smp_defconfig +++ b/arch/m32r/configs/mappi.smp_defconfig @@ -31,7 +31,6 @@ CONFIG_IP_PNP_DHCP=y # CONFIG_IPV6 is not set # CONFIG_STANDALONE is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/m32r/configs/mappi.up_defconfig b/arch/m32r/configs/mappi.up_defconfig index cb11384..74d5a23 100644 --- a/arch/m32r/configs/mappi.up_defconfig +++ b/arch/m32r/configs/mappi.up_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_DHCP=y # CONFIG_IPV6 is not set # CONFIG_STANDALONE is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/m32r/configs/mappi3.smp_defconfig b/arch/m32r/configs/mappi3.smp_defconfig index 27cefd4..f030ddd 100644 --- a/arch/m32r/configs/mappi3.smp_defconfig +++ b/arch/m32r/configs/mappi3.smp_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/m32r/configs/usrv_defconfig b/arch/m32r/configs/usrv_defconfig index a3cfaae..34d9458 100644 --- a/arch/m32r/configs/usrv_defconfig +++ b/arch/m32r/configs/usrv_defconfig @@ -35,7 +35,6 @@ CONFIG_INET_IPCOMP=y # CONFIG_IPV6 is not set CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y -- 1.7.0.4
[PATCH] blackfin: Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for blackfin. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/blackfin/configs/BF538-EZKIT_defconfig |1 - arch/blackfin/configs/BF561-ACVILON_defconfig |1 - arch/blackfin/configs/BlackStamp_defconfig|1 - arch/blackfin/configs/CM-BF533_defconfig |1 - arch/blackfin/configs/CM-BF548_defconfig |1 - arch/blackfin/configs/CM-BF561_defconfig |1 - arch/blackfin/configs/DNP5370_defconfig |1 - arch/blackfin/configs/H8606_defconfig |1 - arch/blackfin/configs/IP0X_defconfig |1 - arch/blackfin/configs/PNAV-10_defconfig |1 - arch/blackfin/configs/SRV1_defconfig |1 - arch/blackfin/configs/TCM-BF518_defconfig |1 - 12 files changed, 0 insertions(+), 12 deletions(-) diff --git a/arch/blackfin/configs/BF538-EZKIT_defconfig b/arch/blackfin/configs/BF538-EZKIT_defconfig index 972aa62..be03be6 100644 --- a/arch/blackfin/configs/BF538-EZKIT_defconfig +++ b/arch/blackfin/configs/BF538-EZKIT_defconfig @@ -59,7 +59,6 @@ CONFIG_BFIN_SIR=m CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/BF561-ACVILON_defconfig b/arch/blackfin/configs/BF561-ACVILON_defconfig index 9198837..802f9c4 100644 --- a/arch/blackfin/configs/BF561-ACVILON_defconfig +++ b/arch/blackfin/configs/BF561-ACVILON_defconfig @@ -49,7 +49,6 @@ CONFIG_SYN_COOKIES=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/BlackStamp_defconfig b/arch/blackfin/configs/BlackStamp_defconfig index 7b982d0..3853c47 100644 --- a/arch/blackfin/configs/BlackStamp_defconfig +++ b/arch/blackfin/configs/BlackStamp_defconfig @@ -44,7 +44,6 @@ CONFIG_IP_PNP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/CM-BF533_defconfig b/arch/blackfin/configs/CM-BF533_defconfig index c940a1e..5e0db82 100644 --- a/arch/blackfin/configs/CM-BF533_defconfig +++ b/arch/blackfin/configs/CM-BF533_defconfig @@ -36,7 +36,6 @@ CONFIG_UNIX=y # CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/CM-BF548_defconfig b/arch/blackfin/configs/CM-BF548_defconfig index e961483..b9af4fa 100644 --- a/arch/blackfin/configs/CM-BF548_defconfig +++ b/arch/blackfin/configs/CM-BF548_defconfig @@ -53,7 +53,6 @@ CONFIG_INET_XFRM_MODE_BEET=m CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/CM-BF561_defconfig b/arch/blackfin/configs/CM-BF561_defconfig index 24936b9..d6dd98e 100644 --- a/arch/blackfin/configs/CM-BF561_defconfig +++ b/arch/blackfin/configs/CM-BF561_defconfig @@ -51,7 +51,6 @@ CONFIG_INET=y # CONFIG_WIRELESS is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/blackfin/configs/DNP5370_defconfig b/arch/blackfin/configs/DNP5370_defconfig index 89162d0..2b58cb2 100644 --- a/arch/blackfin/configs/DNP5370_defconfig +++ b/arch/blackfin/configs/DNP5370_defconfig @@ -36,7 +36,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_DEBUG=y CONFIG_MTD_DEBUG_VERBOSE=1 -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_NFTL=y diff --git a/arch/blackfin/configs/H8606_defconfig b/arch/blackfin/configs/H8606_defconfig index a26436b..f754e49 100644 --- a/arch/blackfin/configs/H8606_defconfig +++ b/arch/blackfin/configs/H8606_defconfig @@ -36,7 +36,6 @@ CONFIG_IRTTY_SIR=m # CONFIG_WIRELESS is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/blackfin/configs/IP0X_defconfig b/arch/blackfin/configs/IP0X_defconfig index 6479915..6295165 100644 --- a/arch/blackfin/configs/IP0X_defconfig +++ b/arch/blackfin/configs/IP0X_defconfig @@ -43,7 +43,6 @@ CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_MANGLE=y # CONFIG_WIRELESS is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/blackfin/configs/PNAV-10_defconfig b/arch/blackfin/configs/PNAV-10_defconfig index
[PATCH] avr32: Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for avr32. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/avr32/configs/atngw100_defconfig |1 - arch/avr32/configs/atngw100_evklcd100_defconfig|1 - arch/avr32/configs/atngw100_evklcd101_defconfig|1 - arch/avr32/configs/atngw100_mrmt_defconfig |1 - arch/avr32/configs/atngw100mkii_defconfig |1 - .../avr32/configs/atngw100mkii_evklcd100_defconfig |1 - .../avr32/configs/atngw100mkii_evklcd101_defconfig |1 - arch/avr32/configs/atstk1002_defconfig |1 - arch/avr32/configs/atstk1003_defconfig |1 - arch/avr32/configs/atstk1004_defconfig |1 - arch/avr32/configs/atstk1006_defconfig |1 - arch/avr32/configs/favr-32_defconfig |1 - arch/avr32/configs/hammerhead_defconfig|1 - arch/avr32/configs/merisc_defconfig|1 - arch/avr32/configs/mimc200_defconfig |1 - 15 files changed, 0 insertions(+), 15 deletions(-) diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig index d5aff36..4733e38 100644 --- a/arch/avr32/configs/atngw100_defconfig +++ b/arch/avr32/configs/atngw100_defconfig @@ -59,7 +59,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100_evklcd100_defconfig b/arch/avr32/configs/atngw100_evklcd100_defconfig index 4abcf43..1be0ee3 100644 --- a/arch/avr32/configs/atngw100_evklcd100_defconfig +++ b/arch/avr32/configs/atngw100_evklcd100_defconfig @@ -61,7 +61,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100_evklcd101_defconfig b/arch/avr32/configs/atngw100_evklcd101_defconfig index 18f3fa0..796e536 100644 --- a/arch/avr32/configs/atngw100_evklcd101_defconfig +++ b/arch/avr32/configs/atngw100_evklcd101_defconfig @@ -60,7 +60,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100_mrmt_defconfig b/arch/avr32/configs/atngw100_mrmt_defconfig index 06e389c..9a57da4 100644 --- a/arch/avr32/configs/atngw100_mrmt_defconfig +++ b/arch/avr32/configs/atngw100_mrmt_defconfig @@ -48,7 +48,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100mkii_defconfig b/arch/avr32/configs/atngw100mkii_defconfig index 2518a13..97fe1b3 100644 --- a/arch/avr32/configs/atngw100mkii_defconfig +++ b/arch/avr32/configs/atngw100mkii_defconfig @@ -59,7 +59,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100mkii_evklcd100_defconfig b/arch/avr32/configs/atngw100mkii_evklcd100_defconfig index 245ef6b..a176d24 100644 --- a/arch/avr32/configs/atngw100mkii_evklcd100_defconfig +++ b/arch/avr32/configs/atngw100mkii_evklcd100_defconfig @@ -62,7 +62,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atngw100mkii_evklcd101_defconfig b/arch/avr32/configs/atngw100mkii_evklcd101_defconfig index fa6cbac..d1bf6dc 100644 --- a/arch/avr32/configs/atngw100mkii_evklcd101_defconfig +++ b/arch/avr32/configs/atngw100mkii_evklcd101_defconfig @@ -61,7 +61,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig index bbd5131..2813dd2 100644 --- a/arch/avr32/configs/atstk1002_defconfig +++ b/arch/avr32/configs/atstk1002_defconfig @@ -53,7 +53,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_PREVENT_FIRMWARE_BUILD is not set # CONFIG_FW_LOADER is not set CONF
[PATCH] powerpc: : Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for powerpc. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/powerpc/configs/40x/acadia_defconfig|1 - arch/powerpc/configs/40x/ep405_defconfig |1 - arch/powerpc/configs/40x/kilauea_defconfig |1 - arch/powerpc/configs/40x/makalu_defconfig|1 - arch/powerpc/configs/40x/walnut_defconfig|1 - arch/powerpc/configs/44x/arches_defconfig|1 - arch/powerpc/configs/44x/bluestone_defconfig |1 - arch/powerpc/configs/44x/canyonlands_defconfig |1 - arch/powerpc/configs/44x/ebony_defconfig |1 - arch/powerpc/configs/44x/eiger_defconfig |1 - arch/powerpc/configs/44x/icon_defconfig |1 - arch/powerpc/configs/44x/iss476-smp_defconfig|1 - arch/powerpc/configs/44x/katmai_defconfig|1 - arch/powerpc/configs/44x/rainier_defconfig |1 - arch/powerpc/configs/44x/redwood_defconfig |1 - arch/powerpc/configs/44x/sequoia_defconfig |1 - arch/powerpc/configs/44x/taishan_defconfig |1 - arch/powerpc/configs/44x/warp_defconfig |1 - arch/powerpc/configs/52xx/cm5200_defconfig |1 - arch/powerpc/configs/52xx/motionpro_defconfig|1 - arch/powerpc/configs/52xx/pcm030_defconfig |1 - arch/powerpc/configs/52xx/tqm5200_defconfig |1 - arch/powerpc/configs/83xx/asp8347_defconfig |1 - arch/powerpc/configs/83xx/mpc8313_rdb_defconfig |1 - arch/powerpc/configs/83xx/mpc8315_rdb_defconfig |1 - arch/powerpc/configs/83xx/mpc836x_mds_defconfig |1 - arch/powerpc/configs/83xx/mpc836x_rdk_defconfig |1 - arch/powerpc/configs/83xx/sbc834x_defconfig |1 - arch/powerpc/configs/85xx/ksi8560_defconfig |1 - arch/powerpc/configs/85xx/ppa8548_defconfig |1 - arch/powerpc/configs/85xx/socrates_defconfig |1 - arch/powerpc/configs/85xx/tqm8540_defconfig |1 - arch/powerpc/configs/85xx/tqm8541_defconfig |1 - arch/powerpc/configs/85xx/tqm8548_defconfig |1 - arch/powerpc/configs/85xx/tqm8555_defconfig |1 - arch/powerpc/configs/85xx/tqm8560_defconfig |1 - arch/powerpc/configs/85xx/xes_mpc85xx_defconfig |1 - arch/powerpc/configs/86xx/gef_ppc9a_defconfig|1 - arch/powerpc/configs/86xx/gef_sbc310_defconfig |1 - arch/powerpc/configs/86xx/gef_sbc610_defconfig |1 - arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig |1 - arch/powerpc/configs/86xx/sbc8641d_defconfig |1 - arch/powerpc/configs/c2k_defconfig |1 - arch/powerpc/configs/corenet64_smp_defconfig |1 - arch/powerpc/configs/linkstation_defconfig |1 - arch/powerpc/configs/mpc85xx_defconfig |1 - arch/powerpc/configs/mpc85xx_smp_defconfig |1 - arch/powerpc/configs/ppc40x_defconfig|1 - arch/powerpc/configs/ppc44x_defconfig|1 - arch/powerpc/configs/prpmc2800_defconfig |1 - arch/powerpc/configs/storcenter_defconfig|1 - arch/powerpc/configs/tqm8xx_defconfig|1 - 52 files changed, 0 insertions(+), 52 deletions(-) diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig index ed3bab7..69e06ee 100644 --- a/arch/powerpc/configs/40x/acadia_defconfig +++ b/arch/powerpc/configs/40x/acadia_defconfig @@ -30,7 +30,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_OF_PARTS=y CONFIG_MTD_CHAR=y diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig index 17582a3..cf06d42 100644 --- a/arch/powerpc/configs/40x/ep405_defconfig +++ b/arch/powerpc/configs/40x/ep405_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_OF_PARTS=y CONFIG_MTD_CHAR=y diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig index f2d4be9..5ff338f 100644 --- a/arch/powerpc/configs/40x/kilauea_defconfig +++ b/arch/powerpc/configs/40x/kilauea_defconfig @@ -32,7 +32,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_CONNECTOR=y CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_OF_PARTS=y CONFIG_MTD_CHAR=y diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig index 42b9793..84505e3 100644 --- a/arch/powerpc/configs/40x/makalu_defconfig +++ b/arch/powerpc/configs/40x/makalu_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug
Fwd: [PATCH] MIPS: Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for MIPS. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. Signed-off-by: Eunbong Song --- arch/mips/configs/ar7_defconfig|1 - arch/mips/configs/bcm47xx_defconfig|1 - arch/mips/configs/bcm63xx_defconfig|1 - arch/mips/configs/cobalt_defconfig |1 - arch/mips/configs/gpr_defconfig|1 - arch/mips/configs/jmr3927_defconfig|1 - arch/mips/configs/lasat_defconfig |1 - arch/mips/configs/markeins_defconfig |1 - arch/mips/configs/mtx1_defconfig |1 - arch/mips/configs/pnx8335_stb225_defconfig |1 - arch/mips/configs/rb532_defconfig |1 - arch/mips/configs/rbtx49xx_defconfig |1 - 12 files changed, 0 insertions(+), 12 deletions(-) diff --git a/arch/mips/configs/ar7_defconfig b/arch/mips/configs/ar7_defconfig index 80e012f..320772c 100644 --- a/arch/mips/configs/ar7_defconfig +++ b/arch/mips/configs/ar7_defconfig @@ -86,7 +86,6 @@ CONFIG_MAC80211_RC_DEFAULT_PID=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_FIRMWARE_IN_KERNEL is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/bcm47xx_defconfig b/arch/mips/configs/bcm47xx_defconfig index 4ca8e5c..f31d17b 100644 --- a/arch/mips/configs/bcm47xx_defconfig +++ b/arch/mips/configs/bcm47xx_defconfig @@ -272,7 +272,6 @@ CONFIG_FW_LOADER=m CONFIG_CONNECTOR=m CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/bcm63xx_defconfig b/arch/mips/configs/bcm63xx_defconfig index 9190051..3fec264 100644 --- a/arch/mips/configs/bcm63xx_defconfig +++ b/arch/mips/configs/bcm63xx_defconfig @@ -44,7 +44,6 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" # CONFIG_STANDALONE is not set # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CFI=y CONFIG_MTD_CFI_INTELEXT=y CONFIG_MTD_CFI_AMDSTD=y diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 5419adb..23b6693 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig @@ -19,7 +19,6 @@ CONFIG_INET=y # CONFIG_IPV6 is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLKDEVS=y CONFIG_MTD_JEDECPROBE=y diff --git a/arch/mips/configs/gpr_defconfig b/arch/mips/configs/gpr_defconfig index fb64589..8f219da 100644 --- a/arch/mips/configs/gpr_defconfig +++ b/arch/mips/configs/gpr_defconfig @@ -165,7 +165,6 @@ CONFIG_YAM=m CONFIG_CFG80211=y CONFIG_MAC80211=y CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index db5705e..9bc08f2 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_defconfig @@ -22,7 +22,6 @@ CONFIG_IP_PNP_BOOTP=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/lasat_defconfig b/arch/mips/configs/lasat_defconfig index d9f3db2..0179c7f 100644 --- a/arch/mips/configs/lasat_defconfig +++ b/arch/mips/configs/lasat_defconfig @@ -31,7 +31,6 @@ CONFIG_INET=y # CONFIG_INET_DIAG is not set # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/markeins_defconfig b/arch/mips/configs/markeins_defconfig index 636f82b..4c2c0c4 100644 --- a/arch/mips/configs/markeins_defconfig +++ b/arch/mips/configs/markeins_defconfig @@ -124,7 +124,6 @@ CONFIG_IP6_NF_MANGLE=m CONFIG_IP6_NF_RAW=m CONFIG_FW_LOADER=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/mips/configs/mtx1_defconfig b/arch/mips/configs/mtx1_defconfig index 9fa8f16..593946a 100644 --- a/arch/mips/configs/mtx1_defconfig +++ b/arch/mips/configs/mtx1_defconfig @@ -246,7 +246,6 @@ CONFIG_BT_HCIBTUART=m CONFIG_BT_HCIVHCI=m CONFIG_CONNECTOR=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/mips/configs/pnx8335_stb225_defconfig b/arch/mips/configs/pnx8335_stb225_defconfig index f292576..c887066 100644 --- a/arch/mips/configs/pnx8335_stb225_defconfig +++ b/arch/mips/configs/pnx8335_stb225_defconfig @@ -31,7 +31,6 @@ CONFIG_INET_AH=y # CONFIG_IPV6 is not set CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/mips/configs/rb532_defconfig b/arch/mips/configs/rb532_defconfig index
Re: Re: [PATCH] ARM: Kill CONFIG_MTD_PARTITIONS
> Missing Signed-off-by? Sorry, I forgot signed-off. Please, add signed-off. >This patch is probably best sent to the arm-soc maintainers so >they can pick it up. For the omap changes: Thanks for your advice. linux-arm-ker...@lists.infradead.org is included in recipien list. > Acked-by: Tony Lindgren > N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 > 0띠h��뭝
[PATCH] ARM: Kill CONFIG_MTD_PARTITIONS
This patch removes CONFIG_MTD_PARTITIONS in config files for ARM. Because CONFIG_MTD_PARTITIONS was removed by commit 6a8a98b22b10f1560d5f90aded4a54234b9b2724. --- arch/arm/configs/acs5k_defconfig|1 - arch/arm/configs/acs5k_tiny_defconfig |1 - arch/arm/configs/assabet_defconfig |1 - arch/arm/configs/at91x40_defconfig |1 - arch/arm/configs/badge4_defconfig |1 - arch/arm/configs/cerfcube_defconfig |1 - arch/arm/configs/cm_x300_defconfig |1 - arch/arm/configs/cns3420vb_defconfig|1 - arch/arm/configs/collie_defconfig |1 - arch/arm/configs/corgi_defconfig|1 - arch/arm/configs/davinci_all_defconfig |1 - arch/arm/configs/h5000_defconfig|1 - arch/arm/configs/iop13xx_defconfig |1 - arch/arm/configs/iop32x_defconfig |1 - arch/arm/configs/iop33x_defconfig |1 - arch/arm/configs/ixp4xx_defconfig |1 - arch/arm/configs/ks8695_defconfig |1 - arch/arm/configs/lart_defconfig |1 - arch/arm/configs/lpd270_defconfig |1 - arch/arm/configs/lubbock_defconfig |1 - arch/arm/configs/mackerel_defconfig |1 - arch/arm/configs/magician_defconfig |1 - arch/arm/configs/mainstone_defconfig|1 - arch/arm/configs/mini2440_defconfig |1 - arch/arm/configs/mv78xx0_defconfig |1 - arch/arm/configs/neponset_defconfig |1 - arch/arm/configs/netx_defconfig |1 - arch/arm/configs/nuc910_defconfig |1 - arch/arm/configs/nuc950_defconfig |1 - arch/arm/configs/nuc960_defconfig |1 - arch/arm/configs/omap1_defconfig|1 - arch/arm/configs/pcm027_defconfig |1 - arch/arm/configs/pleb_defconfig |1 - arch/arm/configs/pxa255-idp_defconfig |1 - arch/arm/configs/raumfeld_defconfig |1 - arch/arm/configs/realview-smp_defconfig |1 - arch/arm/configs/realview_defconfig |1 - arch/arm/configs/shannon_defconfig |1 - arch/arm/configs/simpad_defconfig |1 - arch/arm/configs/spitz_defconfig|1 - arch/arm/configs/tct_hammer_defconfig |1 - arch/arm/configs/versatile_defconfig|1 - 42 files changed, 0 insertions(+), 42 deletions(-) diff --git a/arch/arm/configs/acs5k_defconfig b/arch/arm/configs/acs5k_defconfig index 92b0f90..27ca89d 100644 --- a/arch/arm/configs/acs5k_defconfig +++ b/arch/arm/configs/acs5k_defconfig @@ -35,7 +35,6 @@ CONFIG_IP_PNP_DHCP=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/acs5k_tiny_defconfig b/arch/arm/configs/acs5k_tiny_defconfig index 2a27a14..1f663ca 100644 --- a/arch/arm/configs/acs5k_tiny_defconfig +++ b/arch/arm/configs/acs5k_tiny_defconfig @@ -30,7 +30,6 @@ CONFIG_INET=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/assabet_defconfig b/arch/arm/configs/assabet_defconfig index 558ecd8..bdf6f9c 100644 --- a/arch/arm/configs/assabet_defconfig +++ b/arch/arm/configs/assabet_defconfig @@ -22,7 +22,6 @@ CONFIG_IRDA=m CONFIG_IRLAN=m CONFIG_SA1100_FIR=m CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y diff --git a/arch/arm/configs/at91x40_defconfig b/arch/arm/configs/at91x40_defconfig index c55e921..5886aea 100644 --- a/arch/arm/configs/at91x40_defconfig +++ b/arch/arm/configs/at91x40_defconfig @@ -29,7 +29,6 @@ CONFIG_BINFMT_FLAT=y # CONFIG_SUSPEND is not set # CONFIG_FW_LOADER is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_RAM=y diff --git a/arch/arm/configs/badge4_defconfig b/arch/arm/configs/badge4_defconfig index 5b54abb..b21bd0a 100644 --- a/arch/arm/configs/badge4_defconfig +++ b/arch/arm/configs/badge4_defconfig @@ -30,7 +30,6 @@ CONFIG_BT_HCIVHCI=m # CONFIG_FW_LOADER is not set CONFIG_MTD=y CONFIG_MTD_DEBUG=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y CONFIG_MTD_CFI=y diff --git a/arch/arm/configs/cerfcube_defconfig b/arch/arm/configs/cerfcube_defconfig index dce912d..dcee643 100644 --- a/arch/arm/configs/cerfcube_defconfig +++ b/arch/arm/configs/cerfcube_defconfig @@ -29,7 +29,6 @@ CONFIG_IP_PNP_BOOTP=y CONFIG_IP_PNP_RARP=y # CONFIG_IPV6 is not set CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y CONFIG_MTD_REDBOOT_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CHAR=m diff --git a/arch/arm/configs/cm_x300_defconfig b/arch/arm/configs/cm_x300_defconfig index f4b7672..1bddbd9 100644 --- a/arch/arm/configs/cm_x300_defconfig +++ b/arch/arm/configs/cm_x300_defconfig @@ -51,7 +51,6 @@ CONFIG_BT_HCIBTUSB=m CONFIG_LIB80211=m CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_MTD=y -CONFIG_MTD_PARTITIONS=y C
kbuild: warning with cavium_octeon_defconfig
Hello. Every time i config with arch/mips/configs/cavium_octeon_defconfig, the following warning messages are showed. warning: (MIPS_SEAD3 && PMC_MSP && CPU_CAVIUM_OCTEON) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (MIPS_SEAD3 && PMC_MSP && CPU_CAVIUM_OCTEON) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) I guess it caused by commit id: 9296d94d83649e1c2f25c87dc4ead9c2ab073305 Thanks.
[PATCH] i2c: i2c-designware: Fix compilation warning
Fix the following compilation warning when CONFIG_PM_RUNTIME is not enabled: drivers/i2c/busses/i2c-designware-pcidrv.c:188: warning: 'i2c_dw_pci_runtime_idle' defined but not used Signed-off-by: EunBong Song --- drivers/i2c/busses/i2c-designware-pcidrv.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/i2c/busses/i2c-designware-pcidrv.c b/drivers/i2c/busses/i2c-designware-pcidrv.c index f6ed06c..2b5d3a6 100644 --- a/drivers/i2c/busses/i2c-designware-pcidrv.c +++ b/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -185,6 +185,7 @@ static int i2c_dw_pci_resume(struct device *dev) return 0; } +#ifdef CONFIG_PM_RUNTIME static int i2c_dw_pci_runtime_idle(struct device *dev) { int err = pm_schedule_suspend(dev, 500); @@ -194,6 +195,7 @@ static int i2c_dw_pci_runtime_idle(struct device *dev) return 0; return -EBUSY; } +#endif static const struct dev_pm_ops i2c_dw_pm_ops = { .resume = i2c_dw_pci_resume, -- 1.7.10.4 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] mips: Fix compilation warning
Fix the following compilation warning: mm/page_alloc.c: In function 'free_reserved_area': mm/page_alloc.c:5162: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast Signed-off-by: Eunbong Song --- arch/mips/include/asm/page.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h index ec1ca53..41640f1 100644 --- a/arch/mips/include/asm/page.h +++ b/arch/mips/include/asm/page.h @@ -197,7 +197,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; #endif -#define virt_to_page(kaddr)pfn_to_page(PFN_DOWN(virt_to_phys(kaddr))) +#define virt_to_page(kaddr)pfn_to_page(PFN_DOWN(virt_to_phys((const volatile void *)(kaddr extern int __virt_addr_valid(const volatile void *kaddr); #define virt_addr_valid(kaddr) \ -- 1.7.0.4
[PATCH] mips: Fix compilation warning
Fix the following compilation warning: mm/page_alloc.c: In function 'free_reserved_area': mm/page_alloc.c:5162: warning: passing argument 1 of 'virt_to_phys' makes pointer from integer without a cast /home/ebsong/backup/linux_git/linux/arch/mips/include/asm/io.h:119: note: expected 'const volatile void *' but argument is of type 'long unsigned int' --- arch/mips/include/asm/page.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/include/asm/page.h b/arch/mips/include/asm/page.h index ec1ca53..41640f1 100644 --- a/arch/mips/include/asm/page.h +++ b/arch/mips/include/asm/page.h @@ -197,7 +197,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; #endif -#define virt_to_page(kaddr)pfn_to_page(PFN_DOWN(virt_to_phys(kaddr))) +#define virt_to_page(kaddr)pfn_to_page(PFN_DOWN(virt_to_phys((const volatile void *)(kaddr extern int __virt_addr_valid(const volatile void *kaddr); #define virt_addr_valid(kaddr) \ -- 1.7.0.4 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: Question about ext4 excessive stall time
> On Wed, May 15, 2013 at 07:15:02AM +0000, EUNBONG SONG wrote: > > I know my kernel version is so old. I just want to know why this > > problem is happened. Because of my kernel version is old? or > > Because of disk ?,, If anyone knows about this problem, Could you > > help me? > So what's happening is this. The CFQ I/O scheduler prioritizes reads > over writes, since most reads are synchronous (for example, if the > compiler is waiting for the data block from include/unistd.h, it cant > make forward progress until it receives the data blocks; there is an > exception for readahead blocks, but those are dealt with at a low > priority), and most writes are synchronous (since they are issued by > the writeback daemons, and unless we are doing an fsync, no one is > waiting for them). > > The problem comes when a metadata block, usually one which is shared > across multiple files is undergoing writeback, such as an inode table > block or a allocation bitmap block. The write gets issued as a low > priority I/O operation. Then during the the next jbd2 transaction, > some userspace operation needs to modify that metadata block, and in > order to do that, it has to call jbd2_journal_get_write_access(). But > if there is heavy read traffic going on, due to some other process > using the disk a lot, the writeback operation may end up getting > starved, and doesn't get acted on for a very long time. > > But the moment a process called jbd2_journal_get_write_access(), the > write has effectively become one which is synchronous, in that forward > progress of at least one process is now getting blocked waiting for > this I/O to complete, since the buffer_head is locked for writeback, > possibly for hundreds or thousands of milliseconds, and > jbd2_journal_get_write_access() can not proceed until it can get the > buffer_head lock. > > This was discussed at least month's Linux Storage, File System, and MM > worksthop. The right solution is to for lock_buffer() to notice if > the buffer head has been locked for writeback, and if so, to bump the > write request to the head of the elevator. Jeff Moyer is looking at > this. > > The partial workaround which will be in 3.10 is that we're marking all > metadata writes with REQ_META and REQ_PRIO. This will cause metadata > writebacks to be prioritized at the same priority level as synchrnous > reads. If there is heavy read traffic, the metadata writebacks will > still be in competition with the reads, but at least they will > complete. > > Once we get priority escalation (or priority inheritance, because what > we're seeing here is really a classic priority inversion problem), > then it would make sense for us to no longer set REQ_PRIO for metadata > writebacks, so the metadata writebacks only get prioritized when they > are blocking some process from making forward progress. (Doing this > will probably result in a slight performance degradation on some > workloads, but it will improve others with a heavy read traffic and > minimal writeback interference. We'll want to benchmark what > percentage of metadata writebacks require getting bumped to the head > of the line, but I suspect it will be the right choice.) > > If you want to try to backport this workaround to your older kernel, > please see commit 9f203507ed277. Hi, Ted. I appreciate for your fantastic explanation. It's really great and very helpful for me. Now i can understand about this issue thanks to you. Thanks! EunBong
Question about ext4 excessive stall time
Hello. I saw some commit messages about excessive stall times in ext4. The same problem was reproduced in my board. Actually, i'm not sure that is the same problem. But the calltrace message is very similar with commit id: f783f091. My board configuration as follow. Linux: 2.6.32.60 CPU: 8CPU Disk: SSD File system: ext4 I know my kernel version is so old. I just want to know why this problem is happened. Because of my kernel version is old? or Because of disk ?,, If anyone knows about this problem, Could you help me? As i said, the calltrace message is very similar with commit id: f783f091 as below. Because i enabled hungtask detection and set the hungtask timeout to 120 seconds. the calltrace messages were printed by this. [ 262.455615] INFO: task swm:1692 blocked for more than 120 seconds. [ 262.461715] Stack : 8011f684 a801f8b33960 [ 262.469438] a801f7f2ce38 b6a9 0005 80efa270 [ 262.477424] a801f7f2d0e8 0020 80ec69a0 [ 262.485732] 0001f90a3a50 a80107c93020 a801f9062eb8 a801f9302950 [ 262.493708] a801f5121280 a801f90a3810 a801f7e2 [ 262.501675] 0004 a80107c93020 a801f8b339c0 8011cd50 [ 262.509661] a801f9062eb8 8011f684 0001 8011cea8 [ 262.517647] a801f9302950 804295a0 a801f9302950 0018 [ 262.525652] a801f7f2ce38 802e3f00 a801f4f73bb8 [ 262.533631] a80107c93038 8043987c a801f9302950 [ 262.541603] ... [ 262.544208] Call Trace: [ 262.546668] [] __schedule_nobkl+0x278/0x900 [ 262.552391] [] __schedule+0x48/0x80 [ 262.557431] [] schedule+0x10/0x28 [ 262.562269] [] do_get_write_access+0x470/0x6a8 [ 262.568285] [] jbd2_journal_get_write_access+0x30/0x58 [ 262.574939] [] __ext4_journal_get_write_access+0x48/0x88 [ 262.581817] [] ext4_reserve_inode_write+0x80/0xa8 [ 262.588056] [] ext4_mark_inode_dirty+0x54/0x1e8 [ 262.594121] [] ext4_dirty_inode+0x38/0x70 [ 262.599745] [] __mark_inode_dirty+0x40/0x228 [ 262.605493] [] file_update_time+0xec/0x190 [ 262.611159] [] __generic_file_aio_write+0x1f8/0x3e8 [ 262.617568] [] generic_file_aio_write+0x60/0xc0 [ 262.623636] [] do_sync_write+0xbc/0x120 [ 262.629037] [] vfs_write+0xb4/0x178 [ 262.634049] [] SyS_write+0x48/0xa0 [ 262.639022] [] handle_sys64+0x44/0x60 [ 262.644221] 262.645734] INFO: task evm:1814 blocked for more than 120 seconds. [ 262.651855] Stack : a801f442b930 00100100 [ 262.659651] a801f44fc5b8 b4e6 80efa270 [ 262.667637] a801f44fc868 0001 80ec69a0 [ 262.675643] a801f5da63a0 a80107ca2020 a801f9214438 a801f5da63a0 [ 262.683608] a801f5121280 a801f90a3798 a801f7e2 [ 262.691594] 0004 a80107ca2020 a801f442ba70 8011cd50 [ 262.699579] a801f9214438 8011f684 0001 8011cea8 [ 262.707565] a801f5da63a0 804295a0 a801f5da63a0 0018 [ 262.715576] a801f44fc5b8 802e3f00 a80107ca2038 [ 262.723536] a80107ca2038 8043987c a801f5da63a0 [ 262.731522] ... [ 262.734126] Call Trace: [ 262.736578] [] __schedule_nobkl+0x278/0x900 [ 262.742312] [] __schedule+0x48/0x80 [ 262.747373] [] schedule+0x10/0x28 [ 262.752185] [] do_get_write_access+0x470/0x6a8 [ 262.758220] [] jbd2_journal_get_write_access+0x30/0x58 [ 262.764857] [] __ext4_journal_get_write_access+0x48/0x88 [ 262.771738] [] ext4_new_inode+0x290/0x1298 [ 262.777367] [] ext4_create+0xe8/0x1e0 [ 262.782566] [] vfs_create+0xf8/0x180 [ 262.787705] [] do_filp_open+0xab0/0xbb0 [ 262.793069] [] do_sys_open+0x78/0x170 [ 262.798293] [] handle_sys64+0x44/0x60 [ 262.803480] [ 262.804984] INFO: task logrotate:2422 blocked for more than 120 seconds. [ 262.811674] Stack : 8040ebb8 [ 262.819451] a801f46b6738 afaf 80efa270 [ 262.827436] a801f46b69e8 0001 80ec69a0 [ 262.835421] 80ec6d48 a80107c93020 a801f9062eb8 a801f9302950 [ 262.843407] a801f5121280 a801f90a3bb8 a801f7e2 [ 262.851393] 0004 a80107c93020 a801f4f73ba0 8011cd50 [ 262.859378] a801f9062eb8 8011f684 0001 8011cea8 [ 262.867364] a801f9302950 804295a0 a801f93
Re: Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
Hi, I just wonder. Is there no problem with endianess. I mean usually bit field is defined with __BIG_ENDIAN_BITFIELD or __LITTLE_ENDIAN_BITFIELD. But b_jlist and b_modfied is defined with no pad. It seems to be good but i just want to make sure. Thanks. 2013/5/13 Dmitry Monakhov : > On Mon, 13 May 2013 19:26:34 +0800, Zheng Liu wrote: >> On Mon, May 13, 2013 at 09:53:25AM +, EUNBONG SONG wrote: >> > >> > >> > > Hi all, >> > >> > > First of all I couldn't reproduce this regression in my sand box. So >> > > the following speculation is only my guess. I suspect that the commit >> > > (ae4647fb) isn't root cause. It just uncover a potential bug that has >> > > been there for a long time. I look at the code, and found two >> > > suspicious stuff in jbd2. The first one is in do_get_write_access(). >> > > In this function we forgot to lock bh state when we check b_jlist == >> > > BJ_Shadow. I generate a patch to fix it, and I really think it is the >> > > root cause. Further, in __journal_remove_journal_head() we check >> > > b_jlist == BJ_None. But, when this function is called, bh state won't >> > > be locked sometimes. So I suspect this is why we hit a BUG in >> > > jbd2_journal_put_journal_head(). But I don't have a good solution to >> > > fix this until now because I don't know whether we need to lock bh state >> > > here, or maybe we should remove this assertation. >> > > >> > > So, generally, Tony, Eunbong, could you please try the following patch? >> > > >> > > Thanks in advance, >> > > - Zheng >> > >> > >> > Hi, I tested your patch. Unfortunately, the same problem was reproduced. >> > Thanks. >> >> Thanks for trying this patch. Could you please repost the dmesg log for >> me? I want to make sure whether the second suspicious stuff causes this >> regression or not. Further, that would be great if you could try to >> comment this line as the following? > AFAIK following assertion was triggered jh->b_transaction != NULL >> >> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c >> index 886ec2f..a9e3779 100644 >> --- a/fs/jbd2/journal.c >> +++ b/fs/jbd2/journal.c >> @@ -2453,7 +2453,7 @@ static void __journal_remove_journal_head(struct >> buffer_head *bh) >> J_ASSERT_JH(jh, jh->b_transaction == NULL); >> J_ASSERT_JH(jh, jh->b_next_transaction == NULL); >> J_ASSERT_JH(jh, jh->b_cp_transaction == NULL); >> - J_ASSERT_JH(jh, jh->b_jlist == BJ_None); >> + /*J_ASSERT_JH(jh, jh->b_jlist == BJ_None);*/ >> J_ASSERT_BH(bh, buffer_jbd(bh)); >> J_ASSERT_BH(bh, jh2bh(jh) == bh); >> BUFFER_TRACE(bh, "remove journal_head"); >> >> Really thanks, >> - Zheng >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in >> the body of a message to majord...@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
> Hi all, > First of all I couldn't reproduce this regression in my sand box. So > the following speculation is only my guess. I suspect that the commit > (ae4647fb) isn't root cause. It just uncover a potential bug that has > been there for a long time. I look at the code, and found two > suspicious stuff in jbd2. The first one is in do_get_write_access(). > In this function we forgot to lock bh state when we check b_jlist == > BJ_Shadow. I generate a patch to fix it, and I really think it is the > root cause. Further, in __journal_remove_journal_head() we check > b_jlist == BJ_None. But, when this function is called, bh state won't > be locked sometimes. So I suspect this is why we hit a BUG in > jbd2_journal_put_journal_head(). But I don't have a good solution to > fix this until now because I don't know whether we need to lock bh state > here, or maybe we should remove this assertation. > > So, generally, Tony, Eunbong, could you please try the following patch? > > Thanks in advance, > - Zheng Hi, I tested your patch. Unfortunately, the same problem was reproduced. Thanks.
Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
Hi, I have some problem to boot with 3.10-rc1. So i will test with e0fd9affeb64088eff407dfc98bbd3a5c17ea479. The commit message is as follow. commit e0fd9affeb64088eff407dfc98bbd3a5c17ea479 Merge: 3d15b79 ea9627c Author: Linus Torvalds Date: Wed May 8 15:29:48 2013 -0700 Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Usually, the problem was reproduced in 30 seconds in my board. I will test only revert ae4647fb7654676fc44a97e86eb35f9f06b99f66(jbd2: reduce journal_head size) and i will let you know the test result. Thanks.N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
> Hi, > Bitfields are likely to be implemented using read-modify-write semantics. > Modifications of either b_jlist or b_jmodified must be done under lock > since they share same uint. I guess this lock is missing somewhere. Hi, I agree with you. b_jlist and b_jmodified share the same unit. I think they are separated. Thanks. N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
> CONFIG_IA64_PAGE_SIZE_64KB=y > fsblock size is whatever is the default for SLES11SP2 on ia64 - which > tool will tell me? > My git bisect finally competed and points the a finger at: > bisect> git bisect good > ae4647fb7654676fc44a97e86eb35f9f06b99f66 is first bad commit > commit ae4647fb7654676fc44a97e86eb35f9f06b99f66 > Author: Jan Kara > Date: Fri Apr 12 00:03:42 2013 -0400 > jbd2: reduce journal_head size > Remove unused t_cow_tid field (ext4 copy-on-write support doesn't seem > to be happening) and change b_modified and b_jlist to bitfields thus > saving 8 bytes in the structure. > Signed-off-by: Jan Kara > Signed-off-by: "Theodore Ts'o" > Reviewed-by: Zheng Liu > :04 04 c39ece4341894b3daf84764ba425a87ffb90fe50 > d4e8d9185c2a1b740c235ca8ed05d496a442fce3 M include Hi, my git bisect result is same yours. And i reported that to community yesterday. Thanks.
[PATCH] mips: fix build error for crash_dump.c in 3.10-rc1
This patch fixes crash_dump.c build error. Build error logs are as follow. arch/mips/kernel/crash_dump.c: In function 'kdump_buf_page_init': arch/mips/kernel/crash_dump.c:67: error: implicit declaration of function 'kmalloc' arch/mips/kernel/crash_dump.c:67: error: assignment makes pointer from integer without a cast Signed-off-by: EunBong Song --- arch/mips/kernel/crash_dump.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/crash_dump.c b/arch/mips/kernel/crash_dump.c index 35bed0d..3be9e7b 100644 --- a/arch/mips/kernel/crash_dump.c +++ b/arch/mips/kernel/crash_dump.c @@ -2,6 +2,7 @@ #include #include #include +#include static int __init parse_savemaxmem(char *p) { -- 1.7.0.4
Re: Re: Re: EXT4 regression caused 4eec7
>> Since at this point it's safer to rollback the change and we can >> investigate more deeply how to fix it correctly for the next >> development cycle, this is the patch which I'm testing. >> - Ted > Hello, I've tested with your patch. But the same problem was reproduced. > Currently, I'm trying to git bisect. If i done git bisect, i will let you > know. Hi, I've done git bisect. and panic at jbd2_journal_put_journal_head() is caused by ae4647fb7654676fc44a97e86eb35f9f06b99f66: "jbd2: reduce journal_head size." I write just code patch which revert ae4647fb7654676fc44a97e86eb35f9f06b99f66 because I don't know the root cause. Signed-off-by: Eunbong Song --- include/linux/journal-head.h | 11 +-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/linux/journal-head.h b/include/linux/journal-head.h index 13a3da2..c18b46f 100644 --- a/include/linux/journal-head.h +++ b/include/linux/journal-head.h @@ -31,14 +31,21 @@ struct journal_head { /* * Journalling list for this buffer [jbd_lock_bh_state()] */ - unsigned b_jlist:4; + unsigned b_jlist; /* * This flag signals the buffer has been modified by * the currently running transaction * [jbd_lock_bh_state()] */ - unsigned b_modified:1; + unsigned b_modified; + + /* +* This feild tracks the last transaction id in which this buffer +* has been cowed +* [jbd_lock_bh_state()] +*/ + tid_t b_cow_tid; /* * Copy of the buffer data frozen for writing to the log. -- 1.7.0.4 Thanks. N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: EXT4 regression caused 4eec7
> Since at this point it's safer to rollback the change and we can > investigate more deeply how to fix it correctly for the next > development cycle, this is the patch which I'm testing. > - Ted Hello, I've tested with your patch. But the same problem was reproduced. Currently, I'm trying to git bisect. If i done git bisect, i will let you know. Thanks.
Re: Re: EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
> Can you give us the full crash message, (i.e., the panic, the BUG, > WARN, the registers, etc.), and not the stack trace? > - Ted Hi, Ted Actually i try to find the crash point. And i confirmed crash point is in __journal_remove_journal_head() function. I added some debug code and i found J_ASSERT_JH is failed for jh->b_transaction. My source tree has some modifications only for MIPS architecture. I don't think it does not affect to ext4 operation. Also I confirmed the problem is not reproduced before merge 149b306089b88e186942a8d6647028ae6683aaf9. 149b306089b88e186942a8d6647028ae6683aaf9 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 My full crash messages are as follows. Iozone: Performance Test of File I/O Version $Revision: 3.397 $ Compiled for 64 bit mode. Build: linux-powerpc64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Roo[ 233.458766] CPU: 3 PID: 1535 Comm: iozone Not tainted 3.9.0+ #81 t, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darre[ 233.470132] Stack :n Sawyer. Ben England. Run began: Sun Dec 10 8101143808:38:24 2000 Record Size 64 KB File size set to 5120 KB a8008b64b000 SYNC Mode. Command line used: iozone -l 20 -u 20 -r 64k -s 5 0003m -o -F /user/f1 /user/f2 /user/f3 /user/f4 /user/f5 /user/f6 /u 80292470ser/f7 /user/f8 /user/f9 /user/f10 /user/f11 /user/f12 /user/f13 /user/f14 /user/f15 /user/f16 /user/f17 /user/f18 /user/f19 /us er/f20 Output is in Kbytes/sec Time Resolution = 0.01 se 80faconds. Processor cache size set to 1024 Kbytes. Processor ca 001fche line size set to 32 bytes. File stride size set to 17 * re 80293728cord size. Min process = 20 Max process = 20 Throughput test with 20 processes Each process writes a 5120 Kbyte file i n 64 Kbyte records 8108 8108 80e2abf0 80f8f9f7 a802017a0db8 0020 0003 0020 a8020025f968 810f a8020025f770 806ee88c a8020025f588 80290994 7ef10087 80293b58 000a 80e2abf0 0003 a8020025f4b0 0002017a10f8 805e68b4 80272418 ... [ 233.604041] Call Trace: [ 233.606495] [] show_stack+0x68/0x80 [ 233.611550] [] cdr_event_handler+0x604/0xbf8 [ 233.617384] [] cdr_event_die+0xd0/0x150 [ 233.622784] [] notifier_call_chain+0x5c/0xa8 [ 233.628619] [] __atomic_notifier_call_chain+0x3c/0x58 [ 233.635233] [] notify_die+0x38/0x48 [ 233.640285] [] do_trap_or_bp+0x48/0x1a8 [ 233.645684] [] resume_userspace_check+0x0/0x10 [ 233.651695] [] jbd2_journal_put_journal_head+0xcc/0x250 [ 233.658484] [] jbd2_journal_get_write_access+0x3c/0x58 [ 233.665188] [] __ext4_journal_get_write_access+0x58/0xa0 [ 233.672064] [] ext4_reserve_inode_write+0x84/0xb0 [ 233.678331] [] ext4_mark_inode_dirty+0x3c/0x1e0 [ 233.684424] [] ext4_dirty_inode+0x40/0x70 [ 233.689998] [] __mark_inode_dirty+0x48/0x238 [ 233.695832] [] update_time+0xb4/0x100 [ 233.701058] [] file_update_time+0xb0/0x108 [ 233.706718] [] __generic_file_aio_write+0x180/0x380 [ 233.713158] [] generic_file_aio_write+0x60/0xc0 [ 233.719252] [] ext4_file_write+0x6c/0x468 [ 233.724827] [] do_sync_write+0x84/0xe8 [ 233.730139] [] vfs_write+0xe0/0x1e0 [ 233.735191] [] SyS_write+0x50/0xc0 [ 233.740157] [] handle_sys64+0x44/0x64 Thanks. N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
EXT4 panic at jbd2_journal_put_journal_head() in 3.9+
Hello. In my board, i ran the iozone with multi-thread option. My board has 8 cores and i enabled CONFIG_SMP. the iozone command as follow: iozone -l 20 -u 20 -r 64k -s 5m -o -F /user/f1 /user/f2 /user/f3 /user/f4 /user/f5 /user/f6 /user/f7 /user/f8 /user/f9 /user/f10 /user/f11 /user/f12 /user/f13 /user/f14 /user/f15 /user/f16 /user/f17 /user/f18 /user/f19 /user/f20 mount info as follow cat /proc/mounts /dev/sda3 /user ext4 rw,noatime,nodiratime,errors=panic,barrier=1,data=ordered 0 0 I got a message as below every time i ran iozone test. [ 4876.293124] [] show_stack+0x68/0x80 [ 4876.309411] [] notifier_call_chain+0x5c/0xa8 [ 4876.315245] [] __atomic_notifier_call_chain+0x3c/0x58 [ 4876.321860] [] notify_die+0x38/0x48 [ 4876.326913] [] do_trap_or_bp+0x48/0x1a8 [ 4876.332312] [] resume_userspace_check+0x0/0x10 [ 4876.338323] [] jbd2_journal_put_journal_head+0xcc/0x250 [ 4876.345111] [] __jbd2_journal_remove_checkpoint+0x54/0x130 [ 4876.352160] [] jbd2_journal_commit_transaction+0x1318/0x1ad0 [ 4876.359383] [] kjournald2+0x114/0x450 [ 4876.364611] [] kthread+0xb8/0xc0 [ 4876.369402] [] ret_from_kernel_thread+0x10/0x18 When i ran without multi-thread option, the problem was not ocurred. Thanks.
Fwd: [PATCH v2] MIPS: Make virt_to_phys() work for all unmapped addresses.
> From: David Daney > This one appears to build against Linus' tree. > This could also fix problems noted by Eunbong Song with the > free_initmem_default() call. I tested your patch, And i confirmed your patch fixes panic at free_initmem_default() problem. Thanks.
Re: Re: MIPS: Test reault for enable interrupts before WAIT instruction patch
>> >> Hello. I tested with two patches. >> The first one is thomas gleixner's patch. The patch is as follow. >> This patch works well without any problem. >You don't need them both. When we fix it, it will be one or the other, >not both. Hello. David. Maybe i didn't write clearly for test result. I meant i applied only one patche for each test. Thanks.
MIPS: Test reault for enable interrupts before WAIT instruction patch
Hello. I tested with two patches. The first one is thomas gleixner's patch. The patch is as follow. This patch works well without any problem. Index: linux-2.6/arch/mips/kernel/process.c === --- linux-2.6.orig/arch/mips/kernel/process.c +++ linux-2.6/arch/mips/kernel/process.c @@ -50,13 +50,18 @@ void arch_cpu_idle_dead(void) } #endif -void arch_cpu_idle(void) +static void smtc_idle_hook(void) { #ifdef CONFIG_MIPS_MT_SMTC extern void smtc_idle_loop_hook(void); - smtc_idle_loop_hook(); #endif +} + +void arch_cpu_idle(void) +{ + local_irq_enable(); + smtc_idle_hook(); if (cpu_wait) (*cpu_wait)(); else -- The second one is david daney's patch. The patch is as follow. arch/mips/kernel/genex.S | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index ecb347c..57cda9a 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S @@ -132,12 +132,13 @@ LEAF(r4k_wait) .setnoreorder /* start of rollback region */ LONG_L t0, TI_FLAGS($28) - nop andit0, _TIF_NEED_RESCHED bnezt0, 1f nop - nop - nop + /* Enable interrupts so WAIT will complete */ + mfc0t0, CP0_STATUS + ori t0, ST0_IE + mtc0t0, CP0_STATUS .setmips3 wait /* end of rollback region (the region size must be power of two) */ After apply this patch. I got two error message. The first one is as follow [ 124.661211] Checking for the daddi bug... no. [ 124.665737] [ cut here ] [ 124.670187] WARNING: at kernel/cpu/idle.c:96 cpu_startup_entry+0x150/0x178() [ 124.677209] Modules linked in: [ 124.680251] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.9.0+ #40 [ 124.686237] Stack : 0004 0034 80fa 80292558 80fa 0001 80293810 8108 8108 80e2acf0 80f8f977 80f8fa80 80e31730 0001 0004 0004 c05633f0 806ef728 80f57d08 80290a74 c05633f0 80293c40 003e 80e2acf0 80f57c30 00ff80f8fdc0 802908c0 80272498 ... [ 124.751163] Call Trace: [ 124.753599] [] show_stack+0x68/0x80 [ 124.758634] [] warn_slowpath_common+0x78/0xa8 [ 124.764533] [] cpu_startup_entry+0x150/0x178 [ 124.770351] [] start_kernel+0x440/0x45c [ 124.775728] [ 124.777219] ---[ end trace 9179e654e5693e72 ]--- After boot process is done the follow error message is printed periodically. [ 284.751007] INFO: rcu_preempt detected stalls on CPUs/tasks: { 6} (detected by 1, t=14712 jiffies, g=18446744073709551344, c=18446744073709551343, q=2437) [ 284.764878] Task dump for CPU 6: [ 284.768105] swapper/6 R running task0 0 1 0x0010 [ 284.775174] Stack : 00532000 80f6 80f6 a80001d2d950 0018 8108 8108 8101 8030893c 4256e5715da6083d 80040f80 0018 8108 8108 80264f3c 80e31730 80e31730 80f9 80fd 8026c760 10008ce1 0010 a800414e4010 80f8bb18 00532000 0001 0001 80f8bc58 a80001d32c60 a800414e7fe0 8c00 a8003f7d8000 80fd 80e31730 ... [ 284.840704] Call Trace: [ 284.843153] [] __schedule+0x3b0/0x938 [ 284.848377] ThanksN떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: MIPS : die at free_initmem() function 3.9+
>So on 64bits MIPS platforms, __va(__pa(x)) may not equal to x, that may cause >trouble to free_initmem_default(). Could you please help to do another test >by changing >free_initmem_default(POISON_FREE_INITMEM); >to >free_initmem_default(0); >This test could help to identify whether this panic is caused by >memset((void *)pos, poison, PAGE_SIZE); >in function free_reserved_area(). Hello, as you said i changed "free_initmem_default(POISON_FREE_INITMEM);" to "free_initmem_default(0);". Panic still occurred. Actually, i put the some debug messages. and i confirmed panic occurs in __free_reserved_page() function. Thanks!
MIPS : die at free_initmem() function 3.9+
Hello. I try to boot my cavium board with david's patch. It's is not applied yet in linux tree, i got the patch from mailing list. And the patch is as follow. This is only very lightly tested, we need more testing before declaring it the definitive fix. arch/mips/kernel/genex.S | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index ecb347c..57cda9a 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S @@ -132,12 +132,13 @@ LEAF(r4k_wait) .setnoreorder /* start of rollback region */ LONG_L t0, TI_FLAGS($28) - nop andit0, _TIF_NEED_RESCHED bnezt0, 1f nop - nop - nop + /* Enable interrupts so WAIT will complete */ + mfc0t0, CP0_STATUS + ori t0, ST0_IE + mtc0t0, CP0_STATUS .setmips3 wait /* end of rollback region (the region size must be power of two) */ I think, it works well. But i encounter another problem at free_initmem(). The log messages are as follow. [ 132.134719] CPU: 0 PID: 1 Comm: swapper/0 Tainted: GW3.9.0+ #29 [ 132.141678] Stack : 0004 003f 80fa 802924a8 80fa 00ff 80293760 8108 8108 80e2baf0 80f93977 a8004146cbb8 0020 0003 0020 a80041473da8 810f a80041473a10 806ef910 a80041473828 80290920 80293b90 000a 80e2baf0 a80041473750 4146cef8 805e7794 80272498 ... [ 132.207201] Call Trace: [ 132.209655] [] show_stack+0x68/0x80 [ 132.225943] [] notifier_call_chain+0x5c/0xa8 [ 132.231776] [] __atomic_notifier_call_chain+0x3c/0x58 [ 132.238391] [] notify_die+0x38/0x48 [ 132.243442] [] die+0x4c/0x148 [ 132.247974] [] do_page_fault+0x4b8/0x500 [ 132.253461] [] resume_userspace_check+0x0/0x10 [ 132.259469] [] free_reserved_area+0x8c/0x178 [ 132.265304] [] kernel_init+0x20/0x100 [ 132.270529] [] ret_from_kernel_thread+0x10/0x18 And i just changed free_initmem() functions as follow diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 9b973e0..e246e9b 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c @@ -447,7 +447,10 @@ void free_initrd_mem(unsigned long start, unsigned long end) void __init_refok free_initmem(void) { prom_free_prom_memory(); - free_initmem_default(POISON_FREE_INITMEM); + + free_init_pages("unused kernel memory", + __pa_symbol(&__init_begin), + __pa_symbol(&__init_end)); } After that it works well. but i don't know why it works well. Thanks.
Re: Re: mips; boot fail after merge 3.9+
> Does the patch below fix your issue ? I applied your patch, but it still fails to boot. the boot logs are same. Thanks > Thanks, > tglx > diff --git a/kernel/cpu/idle.c b/kernel/cpu/idle.c > index 8b86c0c..a8972fe 100644 > --- a/kernel/cpu/idle.c > +++ b/kernel/cpu/idle.c > @@ -70,8 +70,10 @@ static void cpu_idle_loop(void) > check_pgt_cache(); > rmb(); > - if (cpu_is_offline(smp_processor_id())) > + if (cpu_is_offline(smp_processor_id())) { > arch_cpu_idle_dead(); > + continue; > + } > local_irq_disable(); > arch_cpu_idle_enter();
Re: Re: [PATCH] MIPS: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol
>These are selects and don't prevent anyone else from also selecting > them. If you look at your referenced commit, you see it removed the >/depends/, not the selects. It actually added selects to several > platforms. Platforms are supposed to select them if they need them. Hello. Every time i config with arch/mips/configs/cavium_octeon_defconfig, the following warning messages are showed. warning: (MIPS_SEAD3 && PMC_MSP && CPU_CAVIUM_OCTEON) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) warning: (MIPS_SEAD3 && PMC_MSP && CPU_CAVIUM_OCTEON) selects USB_EHCI_BIG_ENDIAN_MMIO which has unmet direct dependencies (USB_SUPPORT && USB && USB_EHCI_HCD) And after applying this patch, the warning messages were disappeared. > JonasN떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 > 0띠h��뭝
[PATCH ] MIPS: Fix build error crash_dump.c file.
This patch fixes crash_dump.c build error. Build error logs are as follow. arch/mips/kernel/crash_dump.c: In function 'kdump_buf_page_init': arch/mips/kernel/crash_dump.c:67: error: implicit declaration of function 'kmalloc' cc1: warnings being treated as errors arch/mips/kernel/crash_dump.c:67: error: assignment makes pointer from integer without a cast make[3]: *** [arch/mips/kernel/crash_dump.o] Error 1 make[2]: *** [arch/mips/kernel] Error 2 make[1]: *** [arch/mips] Error 2 make[1]: *** Waiting for unfinished jobs CC kernel/sys.o CC kernel/module.o GZIPkernel/config_data.gz CHK kernel/config_data.h LD kernel/built-in.o Signed-off-by: Eunbong Song --- arch/mips/kernel/crash_dump.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/crash_dump.c b/arch/mips/kernel/crash_dump.c index 35bed0d..3be9e7b 100644 --- a/arch/mips/kernel/crash_dump.c +++ b/arch/mips/kernel/crash_dump.c @@ -2,6 +2,7 @@ #include #include #include +#include static int __init parse_savemaxmem(char *p) { -- 1.7.0.4 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] MIPS: Fix build error crash_dump.c file.
This patch fixes crash_dump.c build error. Signed-off-by: Eunbong Song --- arch/mips/kernel/crash_dump.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/crash_dump.c b/arch/mips/kernel/crash_dump.c index 35bed0d..3be9e7b 100644 --- a/arch/mips/kernel/crash_dump.c +++ b/arch/mips/kernel/crash_dump.c @@ -2,6 +2,7 @@ #include #include #include +#include static int __init parse_savemaxmem(char *p) { -- 1.7.0.4 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] MIPS: remove USB_EHCI_BIG_ENDIAN_{DESC,MMIO} depends on architecture symbol
This patch removes the architecture specific symbols which prevent these configuration symbols from being selected by platforms/architectures requiring it. I reference commit 9296d94d83649e1c2f25c87dc4ead9c2ab073305. Signed-off-by: Eunbong Song --- arch/mips/Kconfig |5 - 1 files changed, 0 insertions(+), 5 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e5f3794..7dd3b65 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -355,8 +355,6 @@ config MIPS_SEAD3 select SYS_SUPPORTS_LITTLE_ENDIAN select SYS_SUPPORTS_SMARTMIPS select USB_ARCH_HAS_EHCI - select USB_EHCI_BIG_ENDIAN_DESC - select USB_EHCI_BIG_ENDIAN_MMIO select USE_OF help This enables support for the MIPS Technologies SEAD3 evaluation @@ -404,8 +402,6 @@ config PMC_MSP select IRQ_CPU select SERIAL_8250 select SERIAL_8250_CONSOLE - select USB_EHCI_BIG_ENDIAN_MMIO - select USB_EHCI_BIG_ENDIAN_DESC help This adds support for the PMC-Sierra family of Multi-Service Processor System-On-A-Chips. These parts include a number @@ -1435,7 +1431,6 @@ config CPU_CAVIUM_OCTEON select CPU_SUPPORTS_HUGEPAGES select LIBFDT select USE_OF - select USB_EHCI_BIG_ENDIAN_MMIO help The Cavium Octeon processor is a highly integrated chip containing many ethernet hardware widgets for networking tasks. The processor -- 1.7.0.4
mips; boot fail after merge 3.9+
Hello. After merge cavium board boots fail, boot log messages are as follows. I enabled initcall_debug for debugging. [0.00] Initializing cgroup subsys cpuset [0.00] Initializing cgroup subsys cpuacct [0.00] Linux version 3.9.0+ (ebsong@ubi) (gcc version 4.4.1 (MontaVista Linux G++ 4.4-1302012138) ) #23 SMP PREEMPT Wed May 1 13:47:25 KST 2013 [0.00] octeon_bootinfo->dram_size: 4000 [0.00] Enabling tad1 error interrupt [0.00] Enabling tad2 error interrupt [0.00] Enabling tad3 error interrupt [0.00] CVMSEG size: 2 cache lines (256 bytes) [0.00] Cavium Networks SDK-2.1.0-p7 build 442 [0.00] bootconsole [early0] enabled [0.00] CPU revision is: 000d9101 (Cavium Octeon II) [0.00] Checking for the multiply/shift bug... no. [0.00] Checking for the daddiu bug... no. [0.00] Determined physical RAM map: [0.00] memory: 06c0 @ 0110 (usable) [0.00] memory: 07c0 @ 0820 (usable) [0.00] memory: 1180 @ 3000 (usable) [0.00] memory: 00f85740 @ 0010 (usable) [0.00] Wasting 14336 bytes for tracking 256 unused pages [0.00] Initrd not found or empty - disabling initrd [0.00] software IO TLB [mem 0x01b8a000-0x01bca000] (0MB) mapped at [a80001b8a000-a80001bc9fff] [0.00] Zone ranges: [0.00] DMA32[mem 0x0010-0xefff] [0.00] Normal empty [0.00] Movable zone start for each node [0.00] Early memory node ranges [0.00] node 0: [mem 0x0010-0x01084fff] [0.00] node 0: [mem 0x0110-0x07cf] [0.00] node 0: [mem 0x0820-0x0fdf] [0.00] node 0: [mem 0x3000-0x417f] [0.00] Cavium Hotplug: Available coremask 0xff00 [0.00] Primary instruction cache 37kB, virtually tagged, 37 way, 8 sets, linesize 128 bytes. [0.00] Primary data cache 32kB, 32-way, 8 sets, linesize 128 bytes. [0.00] PERCPU: Embedded 11 pages/cpu @a80001beb000 s12800 r8192 d24064 u45056 [0.00] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 133198 [0.00] Kernel command line: root=/dev/nfs rw nfsroot=165.213.176.145:/home/ebsong/project/presmb/apc/Pkg/nfsroot/wec8500 ip=165.213.176.108:165.213.176.145:165.213.176.1:255.255.255.0::mgmt0 console=ttyS0,115200 [0.00] PID hash table entries: 4096 (order: 3, 32768 bytes) [0.00] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes) [0.00] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) [0.00] Memory: 510160k/540180k available (5811k kernel code, 30020k reserved, 8933k data, 292k init, 0k highmem) [0.00] Preemptible hierarchical RCU implementation. [0.00] NR_IRQS:453 [0.00] Console: colour dummy device 80x25 [ 26.701167] Calibrating delay loop (skipped) preset value.. 2400.00 BogoMIPS (lpj=1200) [ 26.709507] pid_max: default: 32768 minimum: 301 [ 26.714162] Security Framework initialized [ 26.718218] Mount-cache hash table entries: 256 [ 26.723398] Initializing cgroup subsys devices [ 26.727669] Initializing cgroup subsys freezer [ 26.732131] Checking for the daddi bug... no. [ 26.736607] calling cnmips_cu2_setup+0x0/0xc @ 1 [ 26.741139] initcall cnmips_cu2_setup+0x0/0xc returned 0 after 0 usecs [ 26.747659] calling spawn_ksoftirqd+0x0/0x34 @ 1 I found this issue after cdbedc61c8d0122ad682815936f0d11df1fe5f57. And i found something strange. I ran the git show for this commit. As below "select GENERIC_IDLE_LOOP" is added for CONFIG_MIPS. but the latest arch/mips/Kconfig file has not this one. I have tried to find when this is gone. but i can't find. Is there any problem with this? commit cdbedc61c8d0122ad682815936f0d11df1fe5f57 Author: Thomas Gleixner Date: Thu Mar 21 22:49:52 2013 +0100 mips: Use generic idle loop Signed-off-by: Thomas Gleixner Cc: Linus Torvalds Cc: Rusty Russell Cc: Paul McKenney Cc: Peter Zijlstra Reviewed-by: Cc: Srivatsa S. Bhat Cc: Magnus Damm Cc: Ralf Baechle Link: http://lkml.kernel.org/r/20130321215234.754954...@linutronix.de Signed-off-by: Thomas Gleixner diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 51244bf..e1a3d02 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -34,6 +34,7 @@ config MIPS select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD + select GENERIC_IDLE_LOOP select BUILDTIME_EXTABLE_SORT select GENERIC_CLOCKEVENTS select GENERIC_CMOS_UPDATE
Re: Re: Re: Re: [PATCH] I2C: Change the value of octeon i2c adapter timeout value
Sender : Wolfram Sang Date : 2013-04-24 01:27 (GMT+09:00) Title : Re: Re: Re: [PATCH] I2C: Change the value of octeon i2c adapter timeout value > Well, OK, I don't mind. We can increase it later if needed. > Applied to for-next, thanks! Please have a look later how I changed your > commit messages to see the preferred style. Yes, i will check your commit message and use for reference for the next-time. Thanks.
Re: Re: Re: [PATCH] I2C: Change the value of octeon i2c adapter timeout value
> > Have you been writing to EEPROMS? Their erase/write cycle might be > longer. But I am not forcing you to change the value, just giving some > suggestions. My board has i2c mux, temp sensor, eeprom. And I added some debugging code for measuring i2c response time as below and run i2c operation for each device. The maximum respeonse time was 500usec(under 1msec). So 20 msec is enough for adapter timeout. Thanks. static int octeon_i2c_wait(struct octeon_i2c *i2c) { int result; +struct timeval start, end; octeon_i2c_int_enable(i2c); +do_gettimeofday(&start); result = wait_event_timeout(i2c->queue, octeon_i2c_test_iflg(i2c), i2c->adap.timeout); +do_gettimeofday(&end); +if(end.tv_usec < start.tv_usec){ + end.tv_usec += 100; + end.tv_sec--; + } +if(result > 0) +printk("octeon_i2c_wait elapse time: %ld msecs\n", (end.tv_sec - start.tv_sec)*100 + (end.tv_usec - start.tv_usec)); +else +printk("octeon_i2c_wait fail!!\n"); }N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
Re: Re: [PATCH] I2C: Change the value of octeon i2c adapter timeout value
On Fri, Apr 19, 2013 at 12:01:04AM +, EUNBONG SONG wrote: >> >> I think HZ/50 is better than 2 for adapter timeout. > Basically OK. But why HZ/50? Most drivers use HZ. Actually, I just translated 2 jiffies because HZ is 100 in default cavium config. You can find that in "arch/mips/configs/cavium_octeon_defconfig". And i have been using this value over 1 year in octeon board without problem. Thanks.
[PATCH] I2C: Change the value of octeon i2c adapter timeout value
I think HZ/50 is better than 2 for adapter timeout. Signed-off-by: Eunbong Song --- drivers/i2c/busses/i2c-octeon.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/i2c/busses/i2c-octeon.c b/drivers/i2c/busses/i2c-octeon.c index 935585e..ca489f3 100644 --- a/drivers/i2c/busses/i2c-octeon.c +++ b/drivers/i2c/busses/i2c-octeon.c @@ -440,7 +440,7 @@ static struct i2c_adapter octeon_i2c_ops = { .owner = THIS_MODULE, .name = "OCTEON adapter", .algo = &octeon_i2c_algo, - .timeout = 2, + .timeout = HZ/50, }; /** -- 1.7.0.1
[PATCH] mips: Fix invalid interrupt name in cavium-octeon
Change interrupt name from "RML/RSL" to "RMLRSL". This fixes following warning message. [ 24.938793] WARNING: at fs/proc/generic.c:307 __xlate_proc_name+0x124/0x160() [ 24.945926] name 'RML/RSL' [ 24.948642] Modules linked in: [ 24.951707] Call Trace: [ 24.954157] [] dump_stack+0x8/0x34 [ 24.959136] [] warn_slowpath_common+0x78/0xa8 [ 24.965056] [] warn_slowpath_fmt+0x38/0x48 [ 24.970723] [] __xlate_proc_name+0x124/0x160 [ 24.976556] [] __proc_create+0x78/0x128 [ 24.981963] [] proc_mkdir_mode+0x2c/0x70 [ 24.987451] [] register_handler_proc+0x108/0x130 [ 24.993642] [] __setup_irq+0x210/0x540 [ 24.998963] [] request_threaded_irq+0x114/0x1a0 [ 25.005060] [] prom_free_prom_memory+0xd4/0x588 [ 25.011164] [] free_initmem+0x10/0xc0 [ 25.016390] [] kernel_init+0x20/0x100 [ 25.021624] [] ret_from_kernel_thread+0x10/0x18 Signed-off-by: Eunbong Song --- arch/mips/cavium-octeon/setup.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c index b0baa29..92c3150 100644 --- a/arch/mips/cavium-octeon/setup.c +++ b/arch/mips/cavium-octeon/setup.c @@ -1066,7 +1066,7 @@ void prom_free_prom_memory(void) /* Add an interrupt handler for general failures. */ if (request_irq(OCTEON_IRQ_RML, octeon_rlm_interrupt, IRQF_SHARED, - "RML/RSL", octeon_rlm_interrupt)) { + "RMLRSL", octeon_rlm_interrupt)) { panic("Unable to request_irq(OCTEON_IRQ_RML)"); } #endif -- 1.7.0.4 N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] um: set CONFIG_LOCKDEP_SUPPORT to CONFIG_LOCKDEP
CONFIG_LOCKDEP_SUPPORT is no longer valid. Singed-off-by: EunBong Song --- arch/um/defconfig |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/um/defconfig b/arch/um/defconfig index 08107a7..bbc5aa7 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig @@ -7,7 +7,7 @@ CONFIG_UML=y CONFIG_MMU=y CONFIG_NO_IOMEM=y # CONFIG_TRACE_IRQFLAGS_SUPPORT is not set -CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKDEP=y # CONFIG_STACKTRACE_SUPPORT is not set CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_BUG=y -- 1.7.0.4
[PATCH] swiotlb: Replace dma_length to sg_dma_len() macro
This patch replace dma_length in "lib/swiotlb.c" to sg_dma_len() macro, because the build error can occur if CONFIG_NEED_SG_DMA_LENGTH is not set, and CONFIG_SWIOTLB is set. I confirmed compile only. Singed-off-by: EunBong Song --- lib/swiotlb.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/swiotlb.c b/lib/swiotlb.c index bfe02b8..7b16f4a 100644 --- a/lib/swiotlb.c +++ b/lib/swiotlb.c @@ -859,13 +859,13 @@ swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems, swiotlb_full(hwdev, sg->length, dir, 0); swiotlb_unmap_sg_attrs(hwdev, sgl, i, dir, attrs); - sgl[0].dma_length = 0; + sg_dma_len(sgl) = 0; return 0; } sg->dma_address = phys_to_dma(hwdev, map); } else sg->dma_address = dev_addr; - sg->dma_length = sg->length; + sg_dma_len(sg) = sg->length; } return nelems; } @@ -893,7 +893,7 @@ swiotlb_unmap_sg_attrs(struct device *hwdev, struct scatterlist *sgl, BUG_ON(dir == DMA_NONE); for_each_sg(sgl, sg, nelems, i) - unmap_single(hwdev, sg->dma_address, sg->dma_length, dir); + unmap_single(hwdev, sg->dma_address, sg_dma_len(sg), dir); } EXPORT_SYMBOL(swiotlb_unmap_sg_attrs); @@ -923,7 +923,7 @@ swiotlb_sync_sg(struct device *hwdev, struct scatterlist *sgl, for_each_sg(sgl, sg, nelems, i) swiotlb_sync_single(hwdev, sg->dma_address, - sg->dma_length, dir, target); + sg_dma_len(sg), dir, target); } void -- 1.7.0.4
[PATCH] mips: Fix typo in cavium-octeon
I think "CUI2" should be changed to "CIU2", because CIU means Central Intrrupt Unit. Singed-off-by: EunBong Song --- arch/mips/cavium-octeon/octeon-irq.c |2 +- arch/mips/include/asm/mach-cavium-octeon/irq.h |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c index 156aa61..52aa9cf 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c @@ -1709,7 +1709,7 @@ static void __init octeon_irq_init_ciu2(void) } else panic("Cannot find device node for cavium,octeon-6880-ciu2."); - /* CUI2 */ + /* CIU2 */ for (i = 0; i < 64; i++) octeon_irq_force_ciu_mapping(ciu_domain, i + OCTEON_IRQ_WORKQ0, 0, i); diff --git a/arch/mips/include/asm/mach-cavium-octeon/irq.h b/arch/mips/include/asm/mach-cavium-octeon/irq.h index 60fc4c3..77fb610 100644 --- a/arch/mips/include/asm/mach-cavium-octeon/irq.h +++ b/arch/mips/include/asm/mach-cavium-octeon/irq.h @@ -15,7 +15,7 @@ enum octeon_irq { /* 1 - 8 represent the 8 MIPS standard interrupt sources */ OCTEON_IRQ_SW0 = 1, OCTEON_IRQ_SW1, -/* CIU0, CUI2, CIU4 are 3, 4, 5 */ +/* CIU0, CIU2, CIU4 are 3, 4, 5 */ OCTEON_IRQ_5 = 6, OCTEON_IRQ_PERF, OCTEON_IRQ_TIMER, -- 1.7.0.4
[PATCH] staging: Enhance cpu load-balance octeon ethernet driver
Currently, CPU for RX napi handler is scheduled when backlog packet count is greater than budget * cores_in_use. If more cpus are used for RX napi handler, there is low possibility backlog packet count is greater than budget * cores_in_use. This patch makes CPU for RX napi handler is scheduled when backlog packet count is greater than budget. I tested with patch and the result is more cpu is scheduled in traffic congestion situation. Signed-off-by: EunBong Song --- drivers/staging/octeon/ethernet-rx.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c index 34afc16..13f9eae 100644 --- a/drivers/staging/octeon/ethernet-rx.c +++ b/drivers/staging/octeon/ethernet-rx.c @@ -300,7 +300,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) int cores_in_use = core_state.baseline_cores - atomic_read(&core_state.available_cores); counts.u64 = cvmx_read_csr(CVMX_POW_WQ_INT_CNTX(pow_receive_group)); backlog = counts.s.iq_cnt + counts.s.ds_cnt; - if (backlog > budget * cores_in_use && napi != NULL) + if (backlog > budget && napi != NULL) cvm_oct_enable_one_cpu(); } -- 1.7.0.4
Re: Re: I2C: Fix i2c fail problem when a process is terminated by a signal on octeon in 3.8
>Basically OK, but you have lots of whitespace issues, so I can't apply >your patch. Please resend and make sure it applies. Sorry, I rewrite my patch here. Signed-off-by: EunBong Song --- drivers/i2c/busses/i2c-octeon.c |8 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-octeon.c b/drivers/i2c/busses/i2c-octeon.c index 935585e..b2e3259 100644 --- a/drivers/i2c/busses/i2c-octeon.c +++ b/drivers/i2c/busses/i2c-octeon.c @@ -183,7 +183,7 @@ static irqreturn_t octeon_i2c_isr(int irq, void *dev_id) struct octeon_i2c *i2c = dev_id; octeon_i2c_int_disable(i2c); - wake_up_interruptible(&i2c->queue); + wake_up(&i2c->queue); return IRQ_HANDLED; } @@ -206,9 +206,9 @@ static int octeon_i2c_wait(struct octeon_i2c *i2c) octeon_i2c_int_enable(i2c); - result = wait_event_interruptible_timeout(i2c->queue, - octeon_i2c_test_iflg(i2c), - i2c->adap.timeout); + result = wait_event_timeout(i2c->queue, + octeon_i2c_test_iflg(i2c), + i2c->adap.timeout); octeon_i2c_int_disable(i2c); -- 1.7.0.1 Thanks.N떑꿩�r툤y鉉싕b쾊Ф푤v�^�)頻{.n�+돴쪐{콗喩zX㎍썳變}찠꼿쟺�&j:+v돣�쳭喩zZ+�+zf"톒쉱�~넮녬i鎬z�췿ⅱ�?솳鈺�&�)刪f뷌^j푹y쬶끷@A첺뛴 0띠h��뭝
[PATCH] phydev: Add sysctl variable for polling interval of phy
From d55a22be52e5a768409aa0999d6636cdfc369676 Mon Sep 17 00:00:00 2001 From: eunbonsong Date: Sun, 10 Mar 2013 04:57:39 -0700 Subject: [PATCH] phydev: Add sysctl variable for polling interval of phy state This adds a dev.phy.phy_poll_interval sysctl variable. This value is represented in milliseconds. And phy_state_machine() is scheduled as this variable. I think HZ is enough for PC. But sometimes especially in network devices such as switches,routers, needs more granularity for detecting phy state change. --- drivers/net/phy/phy.c|4 +++- drivers/net/phy/phy_device.c | 43 ++ include/linux/phy.h |1 - 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index ef9ea92..126a69f 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -42,6 +42,8 @@ #include #include +extern unsigned long sysctl_phy_poll_interval; + /** * phy_print_status - Convenience function to print out the current phy status * @phydev: the phy_device struct @@ -966,7 +968,7 @@ void phy_state_machine(struct work_struct *work) if (err < 0) phy_error(phydev); - schedule_delayed_work(&phydev->state_queue, PHY_STATE_TIME * HZ); + schedule_delayed_work(&phydev->state_queue, msecs_to_jiffies(sysctl_phy_poll_interval)); } static inline void mmd_phy_indirect(struct mii_bus *bus, int prtad, int devad, diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 3657b4a..c2697e2 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -42,6 +43,45 @@ MODULE_DESCRIPTION("PHY library"); MODULE_AUTHOR("Andy Fleming"); MODULE_LICENSE("GPL"); +unsigned long sysctl_phy_poll_interval = 1000; +static unsigned long min_phy_poll_interval = 1; +static unsigned long max_phy_poll_interval = 1; + +static struct ctl_table_header *phy_table_header; + +static ctl_table phy_table[] = { + { + .procname = "phy_poll_interval", + .data = &sysctl_phy_poll_interval, + .maxlen = sizeof(long), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &min_phy_poll_interval, + .extra2 = &max_phy_poll_interval, + }, + { } +}; + +static ctl_table phy_dir_table[] = { + { + .procname = "phy", + .maxlen = 0, + .mode = 0555, + .child = phy_table, + }, + {} +}; + +static ctl_table phy_root_table[] = { + { + .procname = "dev", + .maxlen = 0, + .mode = 0555, + .child = phy_dir_table, + }, + {} +}; + void phy_device_free(struct phy_device *phydev) { put_device(&phydev->dev); @@ -1134,6 +1174,8 @@ static int __init phy_init(void) if (rc) mdio_bus_exit(); + phy_table_header = register_sysctl_table(phy_root_table); + return rc; } @@ -1141,6 +1183,7 @@ static void __exit phy_exit(void) { phy_driver_unregister(&genphy_driver); mdio_bus_exit(); + unregister_sysctl_table(phy_table_header); } subsys_initcall(phy_init); diff --git a/include/linux/phy.h b/include/linux/phy.h index 33999ad..0cbc1fe 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -68,7 +68,6 @@ typedef enum { #define PHY_INIT_TIMEOUT 10 -#define PHY_STATE_TIME 1 #define PHY_FORCE_TIMEOUT 10 #define PHY_AN_TIMEOUT 10 -- 1.7.10.4