diff mbox series

samples/rpmsg: Introduce a module parameter for message count

Message ID 20180911174643.26199-1-s-anna@ti.com (mailing list archive)
State New, archived
Headers show
Series samples/rpmsg: Introduce a module parameter for message count | expand

Commit Message

Suman Anna Sept. 11, 2018, 5:46 p.m. UTC
The current rpmsg_client_sample uses a fixed number of messages to
be sent to each instance. This is currently set at 100. Introduce
an optional module parameter 'count' so that the number of messages
to be exchanged can be made flexible.

Signed-off-by: Suman Anna <s-anna@ti.com>
---
 samples/rpmsg/rpmsg_client_sample.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Trilok Soni Sept. 11, 2018, 6:17 p.m. UTC | #1
Bjorn,

>   
>   #define MSG		"hello world!"
> -#define MSG_LIMIT	100
> +
> +static int count = 100;
> +module_param(count, int, 0644);

I thought Greg KH doesn't want any new code to have module_param call, 
right? Are we Ok here or I am missing something here.
Suman Anna Oct. 1, 2018, 9:09 p.m. UTC | #2
Hi Trilok,

On 09/11/2018 01:17 PM, Trilok Soni wrote:
> Bjorn,
> 
>>     #define MSG        "hello world!"
>> -#define MSG_LIMIT    100
>> +
>> +static int count = 100;
>> +module_param(count, int, 0644);
> 
> I thought Greg KH doesn't want any new code to have module_param call,
> right? Are we Ok here or I am missing something here.

Can you point me to the thread where this was discussed/decided?

regards
Suman
Bjorn Andersson Oct. 6, 2018, 6:22 a.m. UTC | #3
On Tue 11 Sep 10:46 PDT 2018, Suman Anna wrote:

> The current rpmsg_client_sample uses a fixed number of messages to
> be sent to each instance. This is currently set at 100. Introduce
> an optional module parameter 'count' so that the number of messages
> to be exchanged can be made flexible.
> 

Rather than sending N messages as fast as possible to any sample channel
that comes up, how about making the sample create a debugfs entry that
we can write messages to from user space?

That would make it possible to improve the handling of multiple
remoteprocs and would allow for a variation in message lengths etc.

Regards,
Bjorn

> Signed-off-by: Suman Anna <s-anna@ti.com>
> ---
>  samples/rpmsg/rpmsg_client_sample.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/samples/rpmsg/rpmsg_client_sample.c b/samples/rpmsg/rpmsg_client_sample.c
> index f161dfd3e70a..9b6b27ea504f 100644
> --- a/samples/rpmsg/rpmsg_client_sample.c
> +++ b/samples/rpmsg/rpmsg_client_sample.c
> @@ -22,7 +22,9 @@
>  #include <linux/rpmsg.h>
>  
>  #define MSG		"hello world!"
> -#define MSG_LIMIT	100
> +
> +static int count = 100;
> +module_param(count, int, 0644);
>  
>  struct instance_data {
>  	int rx_count;
> @@ -41,7 +43,7 @@ static int rpmsg_sample_cb(struct rpmsg_device *rpdev, void *data, int len,
>  		       data, len,  true);
>  
>  	/* samples should not live forever */
> -	if (idata->rx_count >= MSG_LIMIT) {
> +	if (idata->rx_count >= count) {
>  		dev_info(&rpdev->dev, "goodbye!\n");
>  		return 0;
>  	}
> -- 
> 2.18.0
>
Vinod Koul Oct. 6, 2018, 4:28 p.m. UTC | #4
On 05-10-18, 23:22, Bjorn Andersson wrote:
> On Tue 11 Sep 10:46 PDT 2018, Suman Anna wrote:
> 
> > The current rpmsg_client_sample uses a fixed number of messages to
> > be sent to each instance. This is currently set at 100. Introduce
> > an optional module parameter 'count' so that the number of messages
> > to be exchanged can be made flexible.
> > 
> 
> Rather than sending N messages as fast as possible to any sample channel
> that comes up, how about making the sample create a debugfs entry that
> we can write messages to from user space?

Wouldn't it be better to make it sysfs rather than debugfs knob?
Suman Anna Oct. 8, 2018, 4:33 p.m. UTC | #5
Hi Bjorn,

On 10/06/2018 01:22 AM, Bjorn Andersson wrote:
> On Tue 11 Sep 10:46 PDT 2018, Suman Anna wrote:
> 
>> The current rpmsg_client_sample uses a fixed number of messages to
>> be sent to each instance. This is currently set at 100. Introduce
>> an optional module parameter 'count' so that the number of messages
>> to be exchanged can be made flexible.
>>
> 
> Rather than sending N messages as fast as possible to any sample channel
> that comes up, how about making the sample create a debugfs entry that
> we can write messages to from user space?

This sample demonstrates a kernel-level rpmsg usage, and I would prefer
to maintain the current simplicity, and not add in any userspace
interaction. That perhaps can be done as a different sample. I use this
sample to serve as the basic test for checking the rpmsg transport
functionality with multiple remoteprocs and/or multiple instances per
remoteproc at the same time. The count parameter helps me with both
early Silicon development, as well as exercising increased message
exchanges so that the vring buffers are cycled.

> 
> That would make it possible to improve the handling of multiple
> remoteprocs and would allow for a variation in message lengths etc.

FWIW, this already support multiple instances from the same remoteproc
or different remoteproc.

regards
Suman


> 
> Regards,
> Bjorn
> 
>> Signed-off-by: Suman Anna <s-anna@ti.com>
>> ---
>>  samples/rpmsg/rpmsg_client_sample.c | 6 ++++--
>>  1 file changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/samples/rpmsg/rpmsg_client_sample.c b/samples/rpmsg/rpmsg_client_sample.c
>> index f161dfd3e70a..9b6b27ea504f 100644
>> --- a/samples/rpmsg/rpmsg_client_sample.c
>> +++ b/samples/rpmsg/rpmsg_client_sample.c
>> @@ -22,7 +22,9 @@
>>  #include <linux/rpmsg.h>
>>  
>>  #define MSG		"hello world!"
>> -#define MSG_LIMIT	100
>> +
>> +static int count = 100;
>> +module_param(count, int, 0644);
>>  
>>  struct instance_data {
>>  	int rx_count;
>> @@ -41,7 +43,7 @@ static int rpmsg_sample_cb(struct rpmsg_device *rpdev, void *data, int len,
>>  		       data, len,  true);
>>  
>>  	/* samples should not live forever */
>> -	if (idata->rx_count >= MSG_LIMIT) {
>> +	if (idata->rx_count >= count) {
>>  		dev_info(&rpdev->dev, "goodbye!\n");
>>  		return 0;
>>  	}
>> -- 
>> 2.18.0
>>
diff mbox series

Patch

diff --git a/samples/rpmsg/rpmsg_client_sample.c b/samples/rpmsg/rpmsg_client_sample.c
index f161dfd3e70a..9b6b27ea504f 100644
--- a/samples/rpmsg/rpmsg_client_sample.c
+++ b/samples/rpmsg/rpmsg_client_sample.c
@@ -22,7 +22,9 @@ 
 #include <linux/rpmsg.h>
 
 #define MSG		"hello world!"
-#define MSG_LIMIT	100
+
+static int count = 100;
+module_param(count, int, 0644);
 
 struct instance_data {
 	int rx_count;
@@ -41,7 +43,7 @@  static int rpmsg_sample_cb(struct rpmsg_device *rpdev, void *data, int len,
 		       data, len,  true);
 
 	/* samples should not live forever */
-	if (idata->rx_count >= MSG_LIMIT) {
+	if (idata->rx_count >= count) {
 		dev_info(&rpdev->dev, "goodbye!\n");
 		return 0;
 	}