better arch support
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 4529f4e..7d3a638 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -538,12 +538,12 @@
 
 def _windows_arch_option(arch):
   """Returns msbuild cmdline option for selected architecture."""
-  if arch == 'default' or arch == 'windows_x86':
+  if arch == 'default' or arch == 'x86':
     return '/p:Platform=Win32'
-  elif arch == 'windows_x64':
+  elif arch == 'x64':
     return '/p:Platform=x64'
   else:
-    print 'Architecture %s not supported on current platform.' % arch
+    print 'Architecture %s not supported.' % arch
     sys.exit(1)
 
 
@@ -573,15 +573,15 @@
     sys.exit(1)
 
 
-def _get_dockerfile_dir():
+def _get_dockerfile_dir(arch):
   """Returns dockerfile to use"""
-  #TODO: don't depend on env var.
-  arch_env = os.getenv('arch')
-  if arch_env == 'i386':
+  if arch == 'default' or arch == 'x64':
+    return 'tools/jenkins/grpc_jenkins_slave'
+  elif arch == 'x86':
     return 'tools/jenkins/grpc_jenkins_slave_32bits'
   else:
-    # TODO: support 32_bit dockerfile as well
-    return 'tools/jenkins/grpc_jenkins_slave'
+    print 'Architecture %s not supported with current settings.' % arch
+    sys.exit(1)
 
 def runs_per_test_type(arg_str):
     """Auxilary function to parse the "runs_per_test" flag.
@@ -648,7 +648,7 @@
                   const=True,
                   help='Allow flaky tests to show as passing (re-runs failed tests up to five times)')
 argp.add_argument('--arch',
-                  choices=['default', 'windows_x86', 'windows_x64'],
+                  choices=['default', 'x86', 'x64'],
                   default='default',
                   help='Selects architecture to target. For some platforms "default" is the only supported choice.')
 argp.add_argument('--compiler',
@@ -736,9 +736,10 @@
     language_make_options = next(iter(languages)).make_options()
 
 if platform_string() != 'windows':
-  if args.arch != 'default':
-    print 'Architecture %s not supported on current platform.' % args.arch
-    sys.exit(1)
+  if args.arch != 'default' and platform_string() != 'linux':
+      # TODO: check if the current arch is correct 
+      print 'Architecture %s not supported on current platform.' % args.arch
+      sys.exit(1)
   if args.compiler != 'default':
     print 'Compiler %s not supported on current platform.' % args.compiler
     sys.exit(1)
@@ -759,16 +760,9 @@
   child_argv = [ arg for arg in sys.argv if not arg == '--use_docker' ]
   run_tests_cmd = 'tools/run_tests/run_tests.py %s' % ' '.join(child_argv[1:])
 
-  # TODO(jtattermusch): revisit if we need special handling for arch here
-  # set arch command prefix in case we are working with different arch.
-  arch_env = os.getenv('arch')
-  if arch_env:
-    run_test_cmd = 'arch %s %s' % (arch_env, run_test_cmd)
-
   env = os.environ.copy()
   env['RUN_TESTS_COMMAND'] = run_tests_cmd
-  # TODO: also support 32-bit, figure out the dockerfile properly
-  env['DOCKERFILE_DIR'] = _get_dockerfile_dir()
+  env['DOCKERFILE_DIR'] = _get_dockerfile_dir(args.arch)
   env['DOCKER_RUN_SCRIPT'] = 'tools/jenkins/docker_run_tests.sh'
   if args.xml_report:
     env['XML_REPORT'] = args.xml_report