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 |
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.
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
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 >
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?
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 --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; }
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(-)