Loading ...
Sorry, an error occurred while loading the content.
 

NXWM dependency on CONFIG_SCHED_WORKQUEUE

Expand Messages
  • talkingtoken
    Hi Greg, It appears the NXWM library component for CnxTimer depends on work queues being activated in the kernel, and that several of the components in the
    Message 1 of 5 , May 13, 2013
      Hi Greg,

      It appears the NXWM library component for CnxTimer depends on work queues being activated in the kernel, and that several of the components in the NxWidgets library depend on the CNxTimer (CNumericEdit, CScrolLBarHorizontal, etc.). The NxWidget library gives compile errors if you don't have CONFIG_SCHED_WORKQUEUE configured in the kernel (structure implementation not define basically). I started to put conditional compile blocks around everything that depended on CONFIG_SCHED_WORKQUEUE, but the list kept growing. So I'm thinking maybe just a #error "Must enable work queue" or something to that effect in the cnxtimer.hxx file.

      I found this because I was trying to compile everything with the configs/sim/nxwm configuration, which doesn't enable SCHED_WORKQUEUE as a default.

      Which path do you think is more appropriate, the #error path, or conditional compiling of NxWidget components that depend on SCHED_WORKQUEUE?

      Thanks,
      Ken
    • Gregory Nutt
      Hi, Men, I think that we need to just insist that the work queue is enabled or error out. Petteri converted several components to use the work queue instead of
      Message 2 of 5 , May 13, 2013
        Hi, Men,

        I think that we need to just insist that the work queue is enabled or error out.

        Petteri converted several components to use the work queue instead of dedicated threads and POSIX timers. It really is a design improvement.

        The only issue for me is the proper partitioning of OS and user-application interfaces. Historically, work queues have been an internal OS feature for supporting device drivers.

        NxWM should be very interesting getting NxWM working on a kernel build. It should break out like this...

        The windowing system and the NX server should reside in kernel space. NxWidgets and NxWM should reside in user space and communicate with the kernel server through a message queue.

        I have created a special, user-mode work queue just to handle this case.

        Greg

        talkingtoken <pettitkd@...> wrote:

         

        Hi Greg,

        It appears the NXWM library component for CnxTimer depends on work queues being activated in the kernel, and that several of the components in the NxWidgets library depend on the CNxTimer (CNumericEdit, CScrolLBarHorizontal, etc.). The NxWidget library gives compile errors if you don't have CONFIG_SCHED_WORKQUEUE configured in the kernel (structure implementation not define basically). I started to put conditional compile blocks around everything that depended on CONFIG_SCHED_WORKQUEUE, but the list kept growing. So I'm thinking maybe just a #error "Must enable work queue" or something to that effect in the cnxtimer.hxx file.

        I found this because I was trying to compile everything with the configs/sim/nxwm configuration, which doesn't enable SCHED_WORKQUEUE as a default.

        Which path do you think is more appropriate, the #error path, or conditional compiling of NxWidget components that depend on SCHED_WORKQUEUE?

        Thanks,
        Ken

      • Gregory N
        ... I mean Ken. Sorrty. That is what I get for using my tablet to respond to email. Greg
        Message 3 of 5 , May 13, 2013
          > Hi, Men,

          I mean Ken. Sorrty. That is what I get for using my tablet to respond to email.

          Greg
        • talkingtoken
          ... Hee, hee. Didn t even notice that. I guess my eyes just skipped right over the greeting line. Ken
          Message 4 of 5 , May 13, 2013
            --- In nuttx@yahoogroups.com, "Gregory N" <spudarnia@...> wrote:
            >
            > > Hi, Men,
            >
            > I mean Ken. Sorrty. That is what I get for using my tablet to respond to email.



            Hee, hee. Didn't even notice that. I guess my eyes just skipped right over the greeting line.

            Ken
          • Gregory N
            Ken, ... Hmmm.. but you can create some meaningful use of NxWidgets without the work queue. If you are not using the CNxTimer (or anything that depends on the
            Message 5 of 5 , May 14, 2013
              Ken,

              > I think that we need to just insist that the work queue is enabled or error out.

              Hmmm.. but you can create some meaningful use of NxWidgets without the work queue. If you are not using the CNxTimer (or anything that depends on the timer), then you don't need a work queue.

              That would suggest that any errors should be declared at a higher level in the build, not in NxWidgets.

              I think that you have to have the work queue enabled to use NxWM, however.

              Greg
            Your message has been successfully submitted and would be delivered to recipients shortly.