[LITMUS^RT] prop/many-cpu-migration

Björn Brandenburg bbb at mpi-sws.org
Mon May 26 10:00:59 CEST 2014


On 20 May 2014, at 03:27, Glenn Elliott <gelliott at cs.unc.edu> wrote:
> 
> Björn stumbled upon a bug in the code I added to map between CPUs and clusters/partitions (aka ‘domains’).  The problem arrises when the Linux kernel prints cpumasks larger than 32 bits to /proc/litmus/cpus/* and /proc/litmus/domains/*.  Namely, the kernel inserts ‘,’ every eight hex characters (32 bits).  I have posted a patch to prop/many-cpu-migration to parse these strings correctly.  Please review the code.  Also, could someone please try it out on a system with more than 32 CPUs (or better, more than 64 CPUs)?  Even though I compile with NR_CPUS = 4096, I can’t get cpumask_scnprintf() to print a data for more than 64 bits.
> 
> Note #1: libtlitmus code now supports 4096 bits (or CPUs). However, looking at the code in litmus_mapping_proc_show(), I believe the output to proc is 256 bits.
> 
> Note #2: This branch also includes a minor open() fix for DFLP.  The lock test won’t compile without the fix (GCC 4.8.1 on Ubuntu 13.10).


Hi Glenn,

thanks a lot for the patches. I've merged them into staging.

- Björn





More information about the litmus-dev mailing list