From: Vladislav B. <vs...@vl...> - 2011-04-29 00:43:23
|
Hi Guys, Richard Sharpe, on 04/26/2011 11:23 AM wrote: > On Tue, Apr 26, 2011 at 11:07 AM, Bart Van Assche > <bar...@gm...> wrote: >> On Tue, Apr 26, 2011 at 5:01 PM, Richard Sharpe >> <rea...@gm...> wrote: >>> >>> On Tue, Apr 26, 2011 at 1:58 AM, ido benda <id...@gm...> wrote: >>>> On Tue, Apr 26, 2011 at 12:00 AM, Richard Sharpe >>>> <rea...@gm...> wrote: >>>>> Hi, >>>>> >>>>> We are seeing some changes required for RHEL6 around the use of >>>>> set_cpus_allowed ... Has anyone generated any patches as yet? >>>>> >>>> >>>> Hi Richard, >>>> >>>> I sent a patch for RHEL6 on this mailing list some time ago. >>>> See attached >>> >>> Was that with the final released version? We are currently seeing a >>> problem where code like this: >>> >>> #ifdef RHEL_MAJOR >>> rc = set_cpus_allowed(thr->cmd_thread, >>> tgt_dev->acg_dev->acg->acg_cpu_mask); >>> #else >>> rc = set_cpus_allowed_ptr(thr->cmd_thread, >>> &tgt_dev->acg_dev->acg->acg_cpu_mask); >>> #endif >>> >>> must have the first #ifdef changes to: >>> >>> #if defined(RHEL_MAJOR) && RHEL_MAJOR -0 <= 5 >>> >>> It seems that in the version of 2.6.32 that we are running with, >>> things have changed. >> >> Hello Richard, >> >> In "#if defined(RHEL_MAJOR) && RHEL_MAJOR -0 <= 5" the "defined(RHEL_MAJOR) >> &&" part is superfluous. If the C preprocessor encounters an undefined >> symbol it gets replaced by whitespace. So the test "RHEL_MAJOR -0 <= 5" will >> be expanded to "-0 <= 5" if RHEL_MAJOR is not defined. > > That's intriguing because there are three instances of: > > || defined(RHEL_MAJOR) && RHEL_MAJOR -0 <= 5 > > in the code I just scanned, which is pristine from SVN. > > Secondly, before we changed things, we were getting errors during > build about set_cpus_allowed being undefined, and after the change, it > built OK. > > Perhaps RHEL_MAJOR was not being passed into our build, but then I > would expect it to have build without the change, unless #ifdef > __NOTHING__ is true ... I'm somehow lost in the proposed patches. So, when you have a fully working one, please (re)send it here. Thanks, Vlad |