On 13-03-07 4:43 PM, Insop Song wrote:
Hi Bruce,


What do you have in your "defconfig" ? I'm about to push patches that
will make enabling sched_dealine a KERNEL_FEATURE option, which makes
it even easier to use.


Here is my defconfg
https://github.com/insop/meta-dl/blob/sched-dl-V7/recipes-kernel/linux/linux/defconfig

I've asked this to Juri, too. So this is for the config for sched_deadline
"Every defconfig kernel should compile and work
fine (given HZ=1000, NO_HZ not set and HRTIMERS=y)"

And here are the CONFIG that should set  (Juri, please let us know if
I miss anything)
------
CONFIG_EXPERIMENTAL = y
CONFIG_CGROUPS = y
CONFIG_CGROUP_SCHED = n
CONFIG_HIGH_RES_TIMERS = y
CONFIG_PREEMPT = y
CONFIG_PREEMPT_RT = y
CONFIG_HZ_1000 = y

So this is all that you should have in your configuration fragment addon.
We are trying to get people to separate BSP configuration from policy
with feature addons being incremental blocks of CONFIG_ items aded
at the end.

There's a base policy in place for every linux-yocto based BSP, all
you need to do is turn on the options that you want for your feature.

That way, as we migrate through kernel versions, tweak performance
options, etc, there is a central policy fragment that is changed and
all BSPs are updated. Versus hunting down hundreds of defconfigs, in
various layers and attempting to get them all synchronized and updated.

For non linux-yocto BSPs, as of 1.4 we can share the out of tree
kernel configuration fragments, and implement a similar policy. If we
are seeking to synchronize efforts, trying to use the configuration
extensions that are available makes a lot of sense to me!


# CONFIG_NO_HZ is not set

------

But in the meantime, if you want to enable the support on a yocto BSP,
you can change your "defconfig" to be "sched-deadline.cfg" and only
put the kernel options required to enable the feature.

I will pick up yocto-3.8 bb file from "master" branch and will try
this way shortly.


Sounds good!

Bruce


Regards,

Insop


Cheers,

Bruce



   PV = "3.8"
-PR = "dl7"
+PR = "dl"

   KSRC ?= ""
   S = '${@base_conditional("KSRC", "", "${WORKDIR}/git", "${KSRC}", d)}'

Thank you.

Insop

On Wed, Mar 6, 2013 at 8:00 PM, Bruce Ashfield
<bruce.ashfi...@windriver.com>  wrote:

On 13-03-05 1:54 AM, Insop Song wrote:


Hi,

I am preparing a new meta layer for testing and promoting a
sched_deadline scheduler, called "meta-dl". I am planning to add
scheduler testing tools and different kernel versions as well.
- http://insop.github.com/meta-dl/



FYI: I've already merged and staged sched_dl in linux-yocto_3.8:


http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.8/log/?h=standard/edf

I'll be supporting it there as well, so it makes sense to coordinate
our efforts around kernels, configurations and benchmarks.

Juri and I talked about this @ ELC a few weeks ago (I've added
him to the cc as well), and rather than hiding sched_deadline
kernel support in a custom kernel layer, I'd like to try and get
more eyes on it via linux-yocto .. so if we can all coordinate our
efforts here, that would be much better.

Cheers,

Bruce


With the help of hands-on kernel lab (thank you Tom and Darren), I am
able to make kernel with sched_deadline enabled.


Now, I am having some trouble of adding testing tools to this meta-dl,
and hope I can get some help from you.

- problem: adding a new software into my meta-dl layer

- symtom and questions?
1. bitbake core-image-minimal (normal image build) won't include the
additional program that I listed in .bb file below
2. If I do "bitbake schedtool-dl -c install" it builds and install,
but at "i586" location instead of my machine staging rootfs
(dl-qemux86)



- Here is my .bb file that pulls an additional program.


https://github.com/insop/meta-dl/blob/sched-dl-V7/recipes-tools/schedtool-dl/schedtool-dl.bb
===
DESCRIPTION = "schedtool-dl (scheduler test tool) for deadline
scheduler"
HOMEPAGE = "https://github.com/insop/schedtool-dl";
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM =
"file://Makefile;endline=55;md5=e4b4e8ed9c2132e1d727a1bb5e3bd984"
PR = "r1"

SRC_URI = "git://github.com/insop/schedtool-dl.git;protocol=git"
SRCREV = "${AUTOREV}"

S = "${WORKDIR}/git"

do_compile() {
           oe_runmake
}

do_install() {
           oe_runmake install DESTDIR=${D}
}

PARALLEL_MAKE = ""

BBCLASSEXTEND = "native"

COMPATIBLE_MACHINE_dl-qemux86 = "dl-qemux86"
====


- I've updated my conf/layer.conf file to include above file
https://github.com/insop/meta-dl/blob/sched-dl-V7/conf/layer.conf
====
# We have a conf and classes directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"

# We have a recipes directory, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes-*/*/*.bb \
           ${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "dl-qemux86"
BBFILE_PATTERN_dl-qemux86 := "^${LAYERDIR}/"
BBFILE_PRIORITY_dl-qemux86 = "6"
=====



Thank you.

Regards,

Insop


- ref:
1. sched_deadline:
https://events.linuxfoundation.org/events/linuxcon-europe/song
2. sched_deadline:


http://events.linuxfoundation.org/images/stories/slides/elc2013_kobayashi.pdf?a
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto



_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto



_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to