On Mon, Mar 03, 2008 at 02:23:49AM -1000, Jeff Roberson wrote:
>
> On Sun, 2 Mar 2008, Roman Divacky wrote:
>
> >hi..
> >
> >jeff commited his cpu set and I tried to map that to linuxulator
> >version of linux_sched_getaffinity(), the current (untested) code
> >looks like this:
> >
> >/*
> >* Get affinity of a process
> >*/
> >int
> >linux_sched_getaffinity(struct thread *td,
> > struct linux_sched_getaffinity_args *args)
> >{
> > int error;
> > struct cpuset_getaffinity_args cga;
> >
> > if (args->len < sizeof(cpumask_t))
> > return (EINVAL);

>
> Len here is in number of bits I believe as it is for our cpusetsize.


no.. its specified in bytes

> >
> > cga.level = CPU_LEVEL_WHICH;
> > cga.which = CPU_WHICH_PID;
> > cga.id = args->pid;
> > cga.cpusetsize = sizeof(cpumask_t) * NBBY;
> > cga.mask = (long *) args->user_mask_ptr;

>
> Our call will accept larger values and zero fill any bits we don't use.
> It should be safe to pass the original len.


ok.. will do it like that

thnx for the comments, can anyone test the stuff? (I have access
to UP only ATM)

roman
_______________________________________________
freebsd-emulation@freebsd.org mailing list
http://lists.freebsd.org/mailman/lis...ebsd-emulation
To unsubscribe, send any mail to "freebsd-emulation-unsubscribe@freebsd.org"