All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2013-10-15 14:13 ` Markos Chandras
  0 siblings, 0 replies; 9+ messages in thread
From: Markos Chandras @ 2013-10-15 14:13 UTC (permalink / raw)
  To: linux-mips; +Cc: Markos Chandras

Add support for including VPE and TC ids in /proc/cpuinfo output as
appropriate when MT/SMTC is enabled.

Reviewed-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
This patch is for the upstream-sfr/mips-for-linux-next tree
---
 arch/mips/kernel/proc.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 8c58d8a..db49bfa 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -107,7 +107,14 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 	seq_printf(m, "kscratch registers\t: %d\n",
 		      hweight8(cpu_data[n].kscratch_mask));
 	seq_printf(m, "core\t\t\t: %d\n", cpu_data[n].core);
-
+#if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
+	if (cpu_has_mipsmt) {
+		seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
+#if defined(CONFIG_MIPS_MT_SMTC)
+		seq_printf(m, "TC\t\t\t: %d\n", cpu_data[n].tc_id);
+#endif
+	}
+#endif
 	sprintf(fmt, "VCE%%c exceptions\t\t: %s\n",
 		      cpu_has_vce ? "%u" : "not available");
 	seq_printf(m, fmt, 'D', vced_count);
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2013-10-15 14:13 ` Markos Chandras
  0 siblings, 0 replies; 9+ messages in thread
From: Markos Chandras @ 2013-10-15 14:13 UTC (permalink / raw)
  To: linux-mips; +Cc: Markos Chandras

Add support for including VPE and TC ids in /proc/cpuinfo output as
appropriate when MT/SMTC is enabled.

Reviewed-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
---
This patch is for the upstream-sfr/mips-for-linux-next tree
---
 arch/mips/kernel/proc.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 8c58d8a..db49bfa 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -107,7 +107,14 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 	seq_printf(m, "kscratch registers\t: %d\n",
 		      hweight8(cpu_data[n].kscratch_mask));
 	seq_printf(m, "core\t\t\t: %d\n", cpu_data[n].core);
-
+#if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
+	if (cpu_has_mipsmt) {
+		seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
+#if defined(CONFIG_MIPS_MT_SMTC)
+		seq_printf(m, "TC\t\t\t: %d\n", cpu_data[n].tc_id);
+#endif
+	}
+#endif
 	sprintf(fmt, "VCE%%c exceptions\t\t: %s\n",
 		      cpu_has_vce ? "%u" : "not available");
 	seq_printf(m, fmt, 'D', vced_count);
-- 
1.8.3.2

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
  2013-10-15 14:13 ` Markos Chandras
  (?)
@ 2013-10-16 15:10 ` Ralf Baechle
  2014-04-02 10:25     ` James Hogan
  -1 siblings, 1 reply; 9+ messages in thread
From: Ralf Baechle @ 2013-10-16 15:10 UTC (permalink / raw)
  To: Markos Chandras; +Cc: linux-mips

On Tue, Oct 15, 2013 at 03:13:02PM +0100, Markos Chandras wrote:

> Add support for including VPE and TC ids in /proc/cpuinfo output as
> appropriate when MT/SMTC is enabled.

The pile of #ifdefs cracked my glasses ...

And there are more CPUs or configuration that want to provide special
per-CPU information in /proc/cpuinfo.  So I think there needs to be a
hook mechanism, such as a notifier.

This is a first cut only; I need to think about what sort of looking
the notifier needs to have.  But I'd appreciate testing on MT hardware!

Thanks,

  Ralf

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 arch/mips/include/asm/cpu-info.h | 21 +++++++++++++++++++++
 arch/mips/kernel/proc.c          | 23 +++++++++++++++++++++++
 arch/mips/kernel/smp-mt.c        | 22 ++++++++++++++++++++++
 arch/mips/kernel/smtc-proc.c     | 23 +++++++++++++++++++++++
 4 files changed, 89 insertions(+)

diff --git a/arch/mips/include/asm/cpu-info.h b/arch/mips/include/asm/cpu-info.h
index 21c8e29..95c1c42 100644
--- a/arch/mips/include/asm/cpu-info.h
+++ b/arch/mips/include/asm/cpu-info.h
@@ -92,4 +92,25 @@ extern void cpu_report(void);
 extern const char *__cpu_name[];
 #define cpu_name_string()	__cpu_name[smp_processor_id()]
 
+struct seq_file;
+struct notifier_block;
+
+extern int register_proc_cpuinfo_notifier(struct notifier_block *nb);
+extern int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v);
+
+#define proc_cpuinfo_notifier(fn, pri)					\
+({									\
+	static struct notifier_block fn##_nb = {			\
+		.notifier_call = fn,					\
+		.priority = pri						\
+	};								\
+									\
+	register_proc_cpuinfo_notifier(&fn##_nb);			\
+})
+
+struct proc_cpuinfo_notifier_args {
+	struct seq_file *m;
+	unsigned long n;
+};
+
 #endif /* __ASM_CPU_INFO_H */
diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
index 8c58d8a..5ca804d 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -17,8 +17,24 @@
 
 unsigned int vced_count, vcei_count;
 
+/*
+ *  * No lock; only written during early bootup by CPU 0.
+ *   */
+static RAW_NOTIFIER_HEAD(proc_cpuinfo_chain);
+
+int __ref register_proc_cpuinfo_notifier(struct notifier_block *nb)
+{
+	return raw_notifier_chain_register(&proc_cpuinfo_chain, nb);
+}
+
+int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v)
+{
+	return raw_notifier_call_chain(&proc_cpuinfo_chain, val, v);
+}
+
 static int show_cpuinfo(struct seq_file *m, void *v)
 {
+	struct proc_cpuinfo_notifier_args proc_cpuinfo_notifier_args;
 	unsigned long n = (unsigned long) v - 1;
 	unsigned int version = cpu_data[n].processor_id;
 	unsigned int fp_vers = cpu_data[n].fpu_id;
@@ -112,6 +128,13 @@ static int show_cpuinfo(struct seq_file *m, void *v)
 		      cpu_has_vce ? "%u" : "not available");
 	seq_printf(m, fmt, 'D', vced_count);
 	seq_printf(m, fmt, 'I', vcei_count);
+
+	proc_cpuinfo_notifier_args.m = m;
+	proc_cpuinfo_notifier_args.n = n;
+
+	raw_notifier_call_chain(&proc_cpuinfo_chain, 0,
+				&proc_cpuinfo_notifier_args);
+
 	seq_printf(m, "\n");
 
 	return 0;
diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
index 57a3f7a..9a43e78 100644
--- a/arch/mips/kernel/smp-mt.c
+++ b/arch/mips/kernel/smp-mt.c
@@ -285,3 +285,25 @@ struct plat_smp_ops vsmp_smp_ops = {
 	.smp_setup		= vsmp_smp_setup,
 	.prepare_cpus		= vsmp_prepare_cpus,
 };
+
+static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
+	unsigned long action_unused, void *data)
+{
+	struct proc_cpuinfo_notifier_args *pcn = data;
+	struct seq_file *m = pcn->m;
+	unsigned long n = pcn->n;
+
+	if (!cpu_has_mipsmt)
+		return NOTIFY_OK;
+
+	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
+
+	return NOTIFY_OK;
+}
+
+static int __init proc_cpuinfo_notifier_init(void)
+{
+	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
+}
+
+subsys_initcall(proc_cpuinfo_notifier_init);
diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c
index c10aa84..38635a9 100644
--- a/arch/mips/kernel/smtc-proc.c
+++ b/arch/mips/kernel/smtc-proc.c
@@ -77,3 +77,26 @@ void init_smtc_stats(void)
 
 	proc_create("smtc", 0444, NULL, &smtc_proc_fops);
 }
+
+static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
+	unsigned long action_unused, void *data)
+{
+	struct proc_cpuinfo_notifier_args *pcn = data;
+	struct seq_file *m = pcn->m;
+	unsigned long n = pcn->n;
+
+	if (!cpu_has_mipsmt)
+		return NOTIFY_OK;
+
+	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
+	seq_printf(m, "TC\t\t\t: %d\n", cpu_data[n].tc_id);
+
+	return NOTIFY_OK;
+}
+
+static int __init proc_cpuinfo_notifier_init(void)
+{
+	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
+}
+
+subsys_initcall(proc_cpuinfo_notifier_init);

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2014-04-02 10:25     ` James Hogan
  0 siblings, 0 replies; 9+ messages in thread
From: James Hogan @ 2014-04-02 10:25 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Markos Chandras, linux-mips

[-- Attachment #1: Type: text/plain, Size: 5664 bytes --]

On 16/10/13 16:10, Ralf Baechle wrote:
> On Tue, Oct 15, 2013 at 03:13:02PM +0100, Markos Chandras wrote:
> 
>> Add support for including VPE and TC ids in /proc/cpuinfo output as
>> appropriate when MT/SMTC is enabled.
> 
> The pile of #ifdefs cracked my glasses ...
> 
> And there are more CPUs or configuration that want to provide special
> per-CPU information in /proc/cpuinfo.  So I think there needs to be a
> hook mechanism, such as a notifier.
> 
> This is a first cut only; I need to think about what sort of looking
> the notifier needs to have.  But I'd appreciate testing on MT hardware!
> 
> Thanks,
> 
>   Ralf
> 
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Hi Ralf,

Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
one in mips-for-linux-next:

$ cat /proc/cpuinfo
...
processor               : 3
...
core                    : 1
VPE                     : 1
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 1

Maybe a revert of Markos' patch could be squashed in to your patch?

Cheers
James

> 
>  arch/mips/include/asm/cpu-info.h | 21 +++++++++++++++++++++
>  arch/mips/kernel/proc.c          | 23 +++++++++++++++++++++++
>  arch/mips/kernel/smp-mt.c        | 22 ++++++++++++++++++++++
>  arch/mips/kernel/smtc-proc.c     | 23 +++++++++++++++++++++++
>  4 files changed, 89 insertions(+)
> 
> diff --git a/arch/mips/include/asm/cpu-info.h b/arch/mips/include/asm/cpu-info.h
> index 21c8e29..95c1c42 100644
> --- a/arch/mips/include/asm/cpu-info.h
> +++ b/arch/mips/include/asm/cpu-info.h
> @@ -92,4 +92,25 @@ extern void cpu_report(void);
>  extern const char *__cpu_name[];
>  #define cpu_name_string()	__cpu_name[smp_processor_id()]
>  
> +struct seq_file;
> +struct notifier_block;
> +
> +extern int register_proc_cpuinfo_notifier(struct notifier_block *nb);
> +extern int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v);
> +
> +#define proc_cpuinfo_notifier(fn, pri)					\
> +({									\
> +	static struct notifier_block fn##_nb = {			\
> +		.notifier_call = fn,					\
> +		.priority = pri						\
> +	};								\
> +									\
> +	register_proc_cpuinfo_notifier(&fn##_nb);			\
> +})
> +
> +struct proc_cpuinfo_notifier_args {
> +	struct seq_file *m;
> +	unsigned long n;
> +};
> +
>  #endif /* __ASM_CPU_INFO_H */
> diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
> index 8c58d8a..5ca804d 100644
> --- a/arch/mips/kernel/proc.c
> +++ b/arch/mips/kernel/proc.c
> @@ -17,8 +17,24 @@
>  
>  unsigned int vced_count, vcei_count;
>  
> +/*
> + *  * No lock; only written during early bootup by CPU 0.
> + *   */
> +static RAW_NOTIFIER_HEAD(proc_cpuinfo_chain);
> +
> +int __ref register_proc_cpuinfo_notifier(struct notifier_block *nb)
> +{
> +	return raw_notifier_chain_register(&proc_cpuinfo_chain, nb);
> +}
> +
> +int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v)
> +{
> +	return raw_notifier_call_chain(&proc_cpuinfo_chain, val, v);
> +}
> +
>  static int show_cpuinfo(struct seq_file *m, void *v)
>  {
> +	struct proc_cpuinfo_notifier_args proc_cpuinfo_notifier_args;
>  	unsigned long n = (unsigned long) v - 1;
>  	unsigned int version = cpu_data[n].processor_id;
>  	unsigned int fp_vers = cpu_data[n].fpu_id;
> @@ -112,6 +128,13 @@ static int show_cpuinfo(struct seq_file *m, void *v)
>  		      cpu_has_vce ? "%u" : "not available");
>  	seq_printf(m, fmt, 'D', vced_count);
>  	seq_printf(m, fmt, 'I', vcei_count);
> +
> +	proc_cpuinfo_notifier_args.m = m;
> +	proc_cpuinfo_notifier_args.n = n;
> +
> +	raw_notifier_call_chain(&proc_cpuinfo_chain, 0,
> +				&proc_cpuinfo_notifier_args);
> +
>  	seq_printf(m, "\n");
>  
>  	return 0;
> diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
> index 57a3f7a..9a43e78 100644
> --- a/arch/mips/kernel/smp-mt.c
> +++ b/arch/mips/kernel/smp-mt.c
> @@ -285,3 +285,25 @@ struct plat_smp_ops vsmp_smp_ops = {
>  	.smp_setup		= vsmp_smp_setup,
>  	.prepare_cpus		= vsmp_prepare_cpus,
>  };
> +
> +static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
> +	unsigned long action_unused, void *data)
> +{
> +	struct proc_cpuinfo_notifier_args *pcn = data;
> +	struct seq_file *m = pcn->m;
> +	unsigned long n = pcn->n;
> +
> +	if (!cpu_has_mipsmt)
> +		return NOTIFY_OK;
> +
> +	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
> +
> +	return NOTIFY_OK;
> +}
> +
> +static int __init proc_cpuinfo_notifier_init(void)
> +{
> +	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
> +}
> +
> +subsys_initcall(proc_cpuinfo_notifier_init);
> diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c
> index c10aa84..38635a9 100644
> --- a/arch/mips/kernel/smtc-proc.c
> +++ b/arch/mips/kernel/smtc-proc.c
> @@ -77,3 +77,26 @@ void init_smtc_stats(void)
>  
>  	proc_create("smtc", 0444, NULL, &smtc_proc_fops);
>  }
> +
> +static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
> +	unsigned long action_unused, void *data)
> +{
> +	struct proc_cpuinfo_notifier_args *pcn = data;
> +	struct seq_file *m = pcn->m;
> +	unsigned long n = pcn->n;
> +
> +	if (!cpu_has_mipsmt)
> +		return NOTIFY_OK;
> +
> +	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
> +	seq_printf(m, "TC\t\t\t: %d\n", cpu_data[n].tc_id);
> +
> +	return NOTIFY_OK;
> +}
> +
> +static int __init proc_cpuinfo_notifier_init(void)
> +{
> +	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
> +}
> +
> +subsys_initcall(proc_cpuinfo_notifier_init);
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2014-04-02 10:25     ` James Hogan
  0 siblings, 0 replies; 9+ messages in thread
From: James Hogan @ 2014-04-02 10:25 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Markos Chandras, linux-mips

[-- Attachment #1: Type: text/plain, Size: 5664 bytes --]

On 16/10/13 16:10, Ralf Baechle wrote:
> On Tue, Oct 15, 2013 at 03:13:02PM +0100, Markos Chandras wrote:
> 
>> Add support for including VPE and TC ids in /proc/cpuinfo output as
>> appropriate when MT/SMTC is enabled.
> 
> The pile of #ifdefs cracked my glasses ...
> 
> And there are more CPUs or configuration that want to provide special
> per-CPU information in /proc/cpuinfo.  So I think there needs to be a
> hook mechanism, such as a notifier.
> 
> This is a first cut only; I need to think about what sort of looking
> the notifier needs to have.  But I'd appreciate testing on MT hardware!
> 
> Thanks,
> 
>   Ralf
> 
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Hi Ralf,

Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
one in mips-for-linux-next:

$ cat /proc/cpuinfo
...
processor               : 3
...
core                    : 1
VPE                     : 1
VCED exceptions         : not available
VCEI exceptions         : not available
VPE                     : 1

Maybe a revert of Markos' patch could be squashed in to your patch?

Cheers
James

> 
>  arch/mips/include/asm/cpu-info.h | 21 +++++++++++++++++++++
>  arch/mips/kernel/proc.c          | 23 +++++++++++++++++++++++
>  arch/mips/kernel/smp-mt.c        | 22 ++++++++++++++++++++++
>  arch/mips/kernel/smtc-proc.c     | 23 +++++++++++++++++++++++
>  4 files changed, 89 insertions(+)
> 
> diff --git a/arch/mips/include/asm/cpu-info.h b/arch/mips/include/asm/cpu-info.h
> index 21c8e29..95c1c42 100644
> --- a/arch/mips/include/asm/cpu-info.h
> +++ b/arch/mips/include/asm/cpu-info.h
> @@ -92,4 +92,25 @@ extern void cpu_report(void);
>  extern const char *__cpu_name[];
>  #define cpu_name_string()	__cpu_name[smp_processor_id()]
>  
> +struct seq_file;
> +struct notifier_block;
> +
> +extern int register_proc_cpuinfo_notifier(struct notifier_block *nb);
> +extern int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v);
> +
> +#define proc_cpuinfo_notifier(fn, pri)					\
> +({									\
> +	static struct notifier_block fn##_nb = {			\
> +		.notifier_call = fn,					\
> +		.priority = pri						\
> +	};								\
> +									\
> +	register_proc_cpuinfo_notifier(&fn##_nb);			\
> +})
> +
> +struct proc_cpuinfo_notifier_args {
> +	struct seq_file *m;
> +	unsigned long n;
> +};
> +
>  #endif /* __ASM_CPU_INFO_H */
> diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
> index 8c58d8a..5ca804d 100644
> --- a/arch/mips/kernel/proc.c
> +++ b/arch/mips/kernel/proc.c
> @@ -17,8 +17,24 @@
>  
>  unsigned int vced_count, vcei_count;
>  
> +/*
> + *  * No lock; only written during early bootup by CPU 0.
> + *   */
> +static RAW_NOTIFIER_HEAD(proc_cpuinfo_chain);
> +
> +int __ref register_proc_cpuinfo_notifier(struct notifier_block *nb)
> +{
> +	return raw_notifier_chain_register(&proc_cpuinfo_chain, nb);
> +}
> +
> +int proc_cpuinfo_notifier_call_chain(unsigned long val, void *v)
> +{
> +	return raw_notifier_call_chain(&proc_cpuinfo_chain, val, v);
> +}
> +
>  static int show_cpuinfo(struct seq_file *m, void *v)
>  {
> +	struct proc_cpuinfo_notifier_args proc_cpuinfo_notifier_args;
>  	unsigned long n = (unsigned long) v - 1;
>  	unsigned int version = cpu_data[n].processor_id;
>  	unsigned int fp_vers = cpu_data[n].fpu_id;
> @@ -112,6 +128,13 @@ static int show_cpuinfo(struct seq_file *m, void *v)
>  		      cpu_has_vce ? "%u" : "not available");
>  	seq_printf(m, fmt, 'D', vced_count);
>  	seq_printf(m, fmt, 'I', vcei_count);
> +
> +	proc_cpuinfo_notifier_args.m = m;
> +	proc_cpuinfo_notifier_args.n = n;
> +
> +	raw_notifier_call_chain(&proc_cpuinfo_chain, 0,
> +				&proc_cpuinfo_notifier_args);
> +
>  	seq_printf(m, "\n");
>  
>  	return 0;
> diff --git a/arch/mips/kernel/smp-mt.c b/arch/mips/kernel/smp-mt.c
> index 57a3f7a..9a43e78 100644
> --- a/arch/mips/kernel/smp-mt.c
> +++ b/arch/mips/kernel/smp-mt.c
> @@ -285,3 +285,25 @@ struct plat_smp_ops vsmp_smp_ops = {
>  	.smp_setup		= vsmp_smp_setup,
>  	.prepare_cpus		= vsmp_prepare_cpus,
>  };
> +
> +static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
> +	unsigned long action_unused, void *data)
> +{
> +	struct proc_cpuinfo_notifier_args *pcn = data;
> +	struct seq_file *m = pcn->m;
> +	unsigned long n = pcn->n;
> +
> +	if (!cpu_has_mipsmt)
> +		return NOTIFY_OK;
> +
> +	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
> +
> +	return NOTIFY_OK;
> +}
> +
> +static int __init proc_cpuinfo_notifier_init(void)
> +{
> +	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
> +}
> +
> +subsys_initcall(proc_cpuinfo_notifier_init);
> diff --git a/arch/mips/kernel/smtc-proc.c b/arch/mips/kernel/smtc-proc.c
> index c10aa84..38635a9 100644
> --- a/arch/mips/kernel/smtc-proc.c
> +++ b/arch/mips/kernel/smtc-proc.c
> @@ -77,3 +77,26 @@ void init_smtc_stats(void)
>  
>  	proc_create("smtc", 0444, NULL, &smtc_proc_fops);
>  }
> +
> +static int proc_cpuinfo_chain_call(struct notifier_block *nfb,
> +	unsigned long action_unused, void *data)
> +{
> +	struct proc_cpuinfo_notifier_args *pcn = data;
> +	struct seq_file *m = pcn->m;
> +	unsigned long n = pcn->n;
> +
> +	if (!cpu_has_mipsmt)
> +		return NOTIFY_OK;
> +
> +	seq_printf(m, "VPE\t\t\t: %d\n", cpu_data[n].vpe_id);
> +	seq_printf(m, "TC\t\t\t: %d\n", cpu_data[n].tc_id);
> +
> +	return NOTIFY_OK;
> +}
> +
> +static int __init proc_cpuinfo_notifier_init(void)
> +{
> +	return proc_cpuinfo_notifier(proc_cpuinfo_chain_call, 0);
> +}
> +
> +subsys_initcall(proc_cpuinfo_notifier_init);
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
  2014-04-02 10:25     ` James Hogan
  (?)
@ 2014-04-02 10:32     ` Ralf Baechle
  -1 siblings, 0 replies; 9+ messages in thread
From: Ralf Baechle @ 2014-04-02 10:32 UTC (permalink / raw)
  To: James Hogan; +Cc: Markos Chandras, linux-mips

On Wed, Apr 02, 2014 at 11:25:16AM +0100, James Hogan wrote:

> Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
> one in mips-for-linux-next:
> 
> $ cat /proc/cpuinfo
> ...
> processor               : 3
> ...
> core                    : 1
> VPE                     : 1
> VCED exceptions         : not available
> VCEI exceptions         : not available
> VPE                     : 1
> 
> Maybe a revert of Markos' patch could be squashed in to your patch?

Unfortunately I've already sent out my 3.15 pull request so I think I'll
have to live with the damage until I can send a revert to Linus.

That said, Linus didn't pull yesterday.

  Ralf

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
  2014-04-02 10:25     ` James Hogan
  (?)
  (?)
@ 2014-04-03 11:20     ` Ralf Baechle
  2014-04-03 11:24         ` James Hogan
  -1 siblings, 1 reply; 9+ messages in thread
From: Ralf Baechle @ 2014-04-03 11:20 UTC (permalink / raw)
  To: James Hogan; +Cc: Markos Chandras, linux-mips

On Wed, Apr 02, 2014 at 11:25:16AM +0100, James Hogan wrote:

> Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
> one in mips-for-linux-next:
> 
> $ cat /proc/cpuinfo
> ...
> processor               : 3
> ...
> core                    : 1
> VPE                     : 1
> VCED exceptions         : not available
> VCEI exceptions         : not available
> VPE                     : 1
> 
> Maybe a revert of Markos' patch could be squashed in to your patch?

I've reverted this in my tree now.

  Ralf

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2014-04-03 11:24         ` James Hogan
  0 siblings, 0 replies; 9+ messages in thread
From: James Hogan @ 2014-04-03 11:24 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Markos Chandras, linux-mips

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

On 03/04/14 12:20, Ralf Baechle wrote:
> On Wed, Apr 02, 2014 at 11:25:16AM +0100, James Hogan wrote:
> 
>> Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
>> one in mips-for-linux-next:
>>
>> $ cat /proc/cpuinfo
>> ...
>> processor               : 3
>> ...
>> core                    : 1
>> VPE                     : 1
>> VCED exceptions         : not available
>> VCEI exceptions         : not available
>> VPE                     : 1
>>
>> Maybe a revert of Markos' patch could be squashed in to your patch?
> 
> I've reverted this in my tree now.

Thanks Ralf

Cheers
James


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids
@ 2014-04-03 11:24         ` James Hogan
  0 siblings, 0 replies; 9+ messages in thread
From: James Hogan @ 2014-04-03 11:24 UTC (permalink / raw)
  To: Ralf Baechle; +Cc: Markos Chandras, linux-mips

[-- Attachment #1: Type: text/plain, Size: 629 bytes --]

On 03/04/14 12:20, Ralf Baechle wrote:
> On Wed, Apr 02, 2014 at 11:25:16AM +0100, James Hogan wrote:
> 
>> Both of these patches seem to be applied, Markos' in v3.14-rc1, and your
>> one in mips-for-linux-next:
>>
>> $ cat /proc/cpuinfo
>> ...
>> processor               : 3
>> ...
>> core                    : 1
>> VPE                     : 1
>> VCED exceptions         : not available
>> VCEI exceptions         : not available
>> VPE                     : 1
>>
>> Maybe a revert of Markos' patch could be squashed in to your patch?
> 
> I've reverted this in my tree now.

Thanks Ralf

Cheers
James


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-04-03 11:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-15 14:13 [PATCH] MIPS: MT: proc: Add support for printing VPE and TC ids Markos Chandras
2013-10-15 14:13 ` Markos Chandras
2013-10-16 15:10 ` Ralf Baechle
2014-04-02 10:25   ` James Hogan
2014-04-02 10:25     ` James Hogan
2014-04-02 10:32     ` Ralf Baechle
2014-04-03 11:20     ` Ralf Baechle
2014-04-03 11:24       ` James Hogan
2014-04-03 11:24         ` James Hogan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.