Opened 4 weeks ago

Closed 4 weeks ago

#24254 closed defect (fixed)

There needs to be documentation on what kernel versions the KIST Scheduler will run on

Reported by: Dbryrtfbcbhgf Owned by: pastly
Priority: Medium Milestone: Tor: 0.3.2.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-sched, tor-doc
Cc: Actual Points:
Parent ID: Points:
Reviewer: dgoulet Sponsor:

Description

There needs to be decimation on what kernel versions the KIST Scheduler will run on. Right now I'm running
Ubuntu 16.04.3 LTS (GNU/Linux 2.6.32-042stab120.11 x86_64) and it looks like it is running based off the logs.

Child Tickets

Change History (14)

comment:1 Changed 4 weeks ago by Dbryrtfbcbhgf

Summary: There needs to be decimation on what kernel versions the KIST Scheduler will run onThere needs to be documentation on what kernel versions the KIST Scheduler will run on

*Correction
decimation -> documentation

comment:2 Changed 4 weeks ago by pastly

Keywords: tor-sched added

comment:3 Changed 4 weeks ago by dgoulet

Milestone: Tor: 0.3.3.x-final

comment:4 Changed 4 weeks ago by pastly

Owner: set to pastly
Status: newassigned

Thanks. I agree this should be documented.

Is this the same Tor instance you are using in #24158? I suspect it is, and I suspect your Tor is still running KISTLite. Does that sound correct?

I suspect that to be the case because I've now (re)looked into this. KIST support requires two things:

  1. The tcp_info struct in the kernel having the right members
  2. The SIOCOUTQNSD symbol being defined in a certain header

As long as getsockopt has worked the same for all of time (even before the switch to putting some headers in a "uapi" directory), then the first check for KIST support will pass on kernels AT LEAST as old as 2005's linux-2.6.12-rc2, the first git commit.

The second check will only pass on kernels v2.6.39 or newer.

So it looks like "KIST" will only work if you have v2.6.39 or newer, which is slightly newer than your kernel. "KISTLite" should work regardless of your kernel. Hell, you don't even need to be using Linux.

Now WHERE should we document this? Comment in the source? Man page? Both? Neither? Looking for input from anyone here.

comment:5 Changed 4 weeks ago by pastly

Notes from my research in case anyone (including future pastly) will find it useful

607ca46e9 - 2012 move tcpi_snd_cwnd into uapi
1da177e4c - 2005 initial move to git. Linux-2.6.12-rc2 mentioned in commit

2f4e1b39 - 2011 Add SIOCOUTQNSD to include/uapi/linux/sockios.h
           v2.6.39 is the oldest (by version) tag to include this commit

comment:6 Changed 4 weeks ago by Dbryrtfbcbhgf

I think this will be very useful in both the man and the source.

My current VPN server is running 2.6.32-042stab120.11.

Last edited 4 weeks ago by Dbryrtfbcbhgf (previous) (diff)

comment:7 in reply to:  5 Changed 4 weeks ago by Dbryrtfbcbhgf

Replying to pastly:

Notes from my research in case anyone (including future pastly) will find it useful

607ca46e9 - 2012 move tcpi_snd_cwnd into uapi
1da177e4c - 2005 initial move to git. Linux-2.6.12-rc2 mentioned in commit

2f4e1b39 - 2011 Add SIOCOUTQNSD to include/uapi/linux/sockios.h
v2.6.39 is the oldest (by version) tag to include this commit

From what I have seen, all the different VPS providers I tested are still using Linux 2.6.32 or below.

Update
The owner of a VPS service said "2.6.32 is the highest the OpenVZ kernel goes." so it looks like a large amount a VPS servers can not run
"The SIOCOUTQNSD symbol being defined in a certain header"

Last edited 4 weeks ago by Dbryrtfbcbhgf (previous) (diff)

comment:8 in reply to:  4 ; Changed 4 weeks ago by cypherpunks

Replying to pastly:

Now WHERE should we document this? Comment in the source? Man page? Both? Neither? Looking for input from anyone here.

Make a wiki page on trac here?

comment:9 in reply to:  8 Changed 4 weeks ago by dgoulet

Milestone: Tor: 0.3.3.x-finalTor: 0.3.2.x-final

Replying to cypherpunks:

Replying to pastly:

Now WHERE should we document this? Comment in the source? Man page? Both? Neither? Looking for input from anyone here.

Make a wiki page on trac here?

I would go with at least the man page for sure. Requirements for an option in the man page have to be documented there.

(Moving it to 032... I think it was a mistake for this to be in 033.)

comment:10 Changed 4 weeks ago by pastly

Status: assignedneeds_review

See ticket24254 for notes added to the man page.

comment:11 Changed 4 weeks ago by dgoulet

Keywords: tor-doc added
Reviewer: dgoulet
Status: needs_reviewmerge_ready

lgtm;

comment:12 Changed 4 weeks ago by pastly

Status: merge_readyaccepted

Not yet. Rewriting moar to use less jargon and make KISTLite sound better.

comment:13 Changed 4 weeks ago by pastly

Status: acceptedneeds_review

Ok ready for review again.

comment:14 Changed 4 weeks ago by nickm

Resolution: fixed
Status: needs_reviewclosed

cherry-picked to maint-0.3.2 and merging forward. thanks!

Note: See TracTickets for help on using tickets.